All Projects → activej → Activej

activej / Activej

Licence: apache-2.0
ActiveJ is an alternative Java platform built from the ground up. ActiveJ redefines web, high load, and cloud programming in Java, featuring ultimate performance and scalability!

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Activej

Dapeng Soa
A lightweight, high performance micro-service framework
Stars: ✭ 101 (-44.81%)
Mutual labels:  microservice, rpc, async, high-performance
Datakernel
Alternative Java platform, built from the ground up - with its own async I/O core and DI. Ultra high-performance, simple and minimalistic - redefines server-side programming, web-development and highload!
Stars: ✭ 87 (-52.46%)
Mutual labels:  microservice, rpc, async, dependency-injection
Hyperf
🚀 A coroutine framework that focuses on hyperspeed and flexibility. Building microservice or middleware with ease.
Stars: ✭ 4,206 (+2198.36%)
Mutual labels:  microservice, framework, dependency-injection
Joyrpc
high-performance, high-extensibility Java rpc framework.
Stars: ✭ 290 (+58.47%)
Mutual labels:  microservice, rpc, high-performance
Izumi
Productivity-oriented collection of lightweight fancy stuff for Scala toolchain
Stars: ✭ 423 (+131.15%)
Mutual labels:  rpc, framework, dependency-injection
Swoft Framework
[READ ONLY] Swoft Framework, base of Swoft
Stars: ✭ 70 (-61.75%)
Mutual labels:  microservice, rpc, framework
Fastapi Crudrouter
A dynamic FastAPI router that automatically creates CRUD routes for your models
Stars: ✭ 159 (-13.11%)
Mutual labels:  async, framework, code-generation
Brpc Java
Java implementation for Baidu RPC, multi-protocol & high performance RPC.
Stars: ✭ 647 (+253.55%)
Mutual labels:  microservice, rpc, high-performance
Go Zero
go-zero is a web and rpc framework written in Go. It's born to ensure the stability of the busy sites with resilient design. Builtin goctl greatly improves the development productivity.
Stars: ✭ 13,156 (+7089.07%)
Mutual labels:  microservice, rpc, code-generation
Micromono
Write microservices in monolithic style
Stars: ✭ 644 (+251.91%)
Mutual labels:  microservice, rpc, framework
Jupiter
Jupiter是一款性能非常不错的, 轻量级的分布式服务框架
Stars: ✭ 1,372 (+649.73%)
Mutual labels:  microservice, rpc, high-performance
Hprose Js
Hprose is a cross-language RPC. This project is Hprose 2.0 RPC for JavaScript
Stars: ✭ 133 (-27.32%)
Mutual labels:  rpc, serializer
Rpcx Gateway
http gateway for rpcx services. Clients in any programming languages can call them
Stars: ✭ 145 (-20.77%)
Mutual labels:  microservice, rpc
Siris
DEPRECATED: The community driven fork of Iris. The fastest web framework for Golang!
Stars: ✭ 146 (-20.22%)
Mutual labels:  framework, high-performance
Telegramapiserver
Fast, simple, async php telegram api server: MadelineProto + Amp HTTP Server
Stars: ✭ 152 (-16.94%)
Mutual labels:  microservice, async
Pyrogram
Telegram MTProto API Client Library and Framework in Pure Python for Users and Bots
Stars: ✭ 2,252 (+1130.6%)
Mutual labels:  async, framework
Go Micro Boilerplate
The boilerplate of the GoLang application with a clear microservices architecture.
Stars: ✭ 147 (-19.67%)
Mutual labels:  microservice, rpc
Kratos
A modular-designed and easy-to-use microservices framework in Go.
Stars: ✭ 15,844 (+8557.92%)
Mutual labels:  framework, microservice
Hprose Php
Hprose is a cross-language RPC. This project is Hprose 3.0 for PHP
Stars: ✭ 1,952 (+966.67%)
Mutual labels:  rpc, serializer
Wookiee
Scala based lightweight service framework using akka and other popular technologies.
Stars: ✭ 132 (-27.87%)
Mutual labels:  microservice, framework

Maven Central GitHub

Introduction

ActiveJ is a fully-featured alternative Java platform built from the ground up as a replacement of Spring, Spark, Quarkus, Micronauts, and other solutions. It is minimalistic, boilerplate-free, and incomparably faster, which is proven by benchmarks. ActiveJ has very few third-party dependencies, yet features a rich stack of technologies with an efficient async programming model and a powerful DI library ActiveJ Inject

ActiveJ components

ActiveJ consists of several modules that can be logically grouped into following categories :

  • Async.io - High-performance asynchronous IO with efficient event loop, NIO, promises, streaming and CSP. Alternative to Netty, RxJava, Akka and others. (Promise, Eventloop, Net, CSP, Datastream)
  • HTTP - High-performance HTTP server and client with WebSocket support. Can be used as a simple web server or as an application server. An alternative to Jetty and other conventional HTTP clients and servers. (HTTP)
  • ActiveJ Inject - Lightweight powerful dependency injection library. Optimized for fast application start-up and ultimate runtime performance. Supports annotation-based component wiring as well as reflection-free wiring. (ActiveJ Inject)
  • Boot - Production-ready tools for launching and monitoring ActiveJ application. Concurrently starts and stops services based on their dependencies. Various service monitoring utilities with the support of JMX and Zabbix. (Launcher, Service Graph, JMX, Triggers)
  • Bytecode manipulation
    • ActiveJ Codegen - Dynamic class and method bytecode generator on top of ObjectWeb ASM library. Abstracts the complexity of direct bytecode manipulation and allows to create custom classes on the fly using Lisp-like AST expressions. (ActiveJ Codegen)
    • ActiveJ Serializer - Extremely fast and space-efficient serializers created with bytecode engineering. Introduces schema-less approach for the best performance. (ActiveJ Serializer)
    • ActiveJ Specializer - Innovative technology for enhancing class runtime performance by automatically transforming class instances into specialized static classes, and class instance fields into baked-in static fields. Enables a wide variety of JVM optimizations for static classes, not possible otherwise: dead code elimination, aggressively inlining methods, and static constants. (ActiveJ Specializer)
  • Cloud components
    • ActiveJ FS - Asynchronous abstraction over file system for building efficient, scalable local or remote file storages, supporting data redundancy, rebalancing, and resharding. (ActiveJ FS)
    • ActiveJ RPC - Ultra high-performance binary client-server protocol. Allows to build distributed, sharded and fault-tolerant microservices applications. (ActiveJ RPC)
    • Various extra services: ActiveJ CRDT, Redis client, Memcache, OLAP Cube, Dataflow

Quick start

Insert this snippet to your terminal...

mvn archetype:generate -DarchetypeGroupId=io.activej -DarchetypeArtifactId=archetype-http -DarchetypeVersion=4.1

... and open the project in your favourite IDE. Then, build the application and run it. Open your browser on localhost:8080 to see the "Hello World" message.

Fully-featured embedded web application server with Dependency Injection:

public final class HttpHelloWorldExample extends HttpServerLauncher {
    @Provides
    AsyncServlet servlet() {
        return request -> HttpResponse.ok200().withPlainText("Hello, World!");
    }

    public static void main(String[] args) throws Exception {
        Launcher launcher = new HttpHelloWorldExample();
        launcher.launch(args);
    }
}

Some technical details regarding the above example:

  • Features a JAR file size of only 1.4 MB. In comparison, a minimal Spring web app size is approximately 17 MB.
  • The cold start time is 0.65 sec.
  • The ActiveJ Inject DI library which is used, is 5.5 times faster than Guice and hundreds of times faster than Spring.

To learn more about ActiveJ, please visit https://activej.io or follow our 5-minute getting-started guide.

Examples for usage of the ActiveJ platform and all the ActiveJ libraries can be found in examples module.

Release notes for ActiveJ can be found here

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].