Skip to content

jauntsdn/rsocket-jvm-interop-examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Message-Streams

Build

Message-Streams (RSocket-JVM) / GRPC interop example

This example demonstrates how Message-Streams services from jauntsdn/RSocket-JVM interoperate with each other over multiple transports (tcp, unix sockets, websockets/http2) & with GRPC, http/json over http2. It also demonstrates how Message-Streams/RPC services may be decoupled from RSocket-JVM runtime (this includes transports, metrics, load estimators/circuit breakers).

Message-Streams is very fast GRPC-like & GRPC-compatible services on JVM with rich streaming models.

Each service & its RPC client/server bindings have API of different nature: grpc-stub API(StreamObserver), CompletableFuture, or flavor of reactive: smallrye-mutiny, rxjava3, reactor-project.

Example application is comprised of 5 Message-Streams services (RSocket-JVM runtimes are stripped on this branch), plus GRPC & http/json clients:

  • Farmer service (Message-Streams-RPC-reactor + TCP transport)

  • Recipes service (Message-Streams-RPC-futures + TCP transport)

  • Roundsman service (Message-Streams-RPC-mutiny + WEBSOCKET-HTTP2 transport)

  • Chef service (Message-Streams-RPC-grpc + UNIX transport)

  • Kitchen service (Message-Streams-RPC-rxjava + GRPC transport)

  • Gourmet client (GRPC-java)

  • Supervisor client (http/json)

services

Build

./gradlew

Regenerate RPC client/service stubs (linux, windows(x86) only)

./gradlew clean build -PgenerateProto=true

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages