IN BRIEF. Message-Streams is very fast GRPC-like & GRPC-compatible services on JVM with rich streaming models [1].
MILLIONS. Millions of requests/messages per core with each interaction model. Million of simultaneous streams served with commodity PC.
MESSAGE-STREAMS. Rich streaming plus codegen/Protobuf RPC. GRPC compatibility & look-and-feel. Multiple network transports.
MULTIPLE APIS. Request-response with CompletableFuture; streaming with reactor, rxjava, mutiny, helidon [2].
PLUGGABLE NETWORKING. TCP, unix sockets, GRPC, websockets-over-http2.
API / RUNTIME SEPARATION. Service APIs & RPC stubs (Message-Streams) are decoupled from library runtime. Latter also includes shared modules: network transports, load estimators, metrics [3].
EFFICIENT. Minimal per-message garbage production. Server graceful close support, coarse scheduler for timeouts, lightweight keep-alives. Lean RPC and client metadata encoding.
LOAD BALANCING. Transparent origin (RPC) & proxy load estimation for cpu-efficient load balancers.
TINY FOOTPRINT. Minimal service is <3MB, application image with JRE <50MB, alpine container <60MB.
NATIVE. Instant startup & even smaller binary footprint (~20MB), RSS memory with graalvm.
PRESENTATION. Details are available at [4].
BINARIES. Binary releases for java8+ are published on Maven Central [5].
EXAMPLES. Message-Streams-RPC futures example is available at [6], all libraries interop plus GRPC examples - at [7], RPC origin load estimation & load limiting example - at [8].