You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Very fast GRPC-like & GRPC-compatible services on JVM with rich streaming models over multiple data-center and internet transports [[1]](https://jauntsdn.com/mstreams/).
11
11
12
-
>lean & very fast GRPC-like [services](https://github.com/jauntsdn/rsocket-jvm-interop-examples/tree/feature/oss/jaunt-rsocket-reactor-service/src/generated/main/rsocketRpc/trisocket) on JVM with rich streaming model;
13
-
>
14
-
>multiple APIs: CompletableFuture; streaming with reactor, rxjava, mutiny, helidon;
12
+
## Summary
13
+
14
+
>multiple APIs: CompletableFuture; traditional streaming with GRPC-API (StreamObserver), or flavor of reactive: smallrye-mutiny, rxjava, reactor;
RSocket-JVM is [very fast](https://jauntsdn.com/post/rsocket-summary/) (millions of messages per core with each interaction) alternative to
24
+
`RSocket-JVM` is [very fast](https://jauntsdn.com/post/rsocket-summary/) (millions of messages per core with each interaction) alternative to
25
25
projectreactor-only RSocket/RSocket-java from "Reactive Foundation" -
26
26
which is plagued by number of performance and security [problems](https://jauntsdn.com/post/rsocket-vs-spring/).
27
27
28
-
RSocket is low latency/high throughput L5 network protocol
29
-
intended for high-performance services communication. It is transport agnostic, and runs on top
30
-
of any reliable byte stream transport.
31
-
32
-
This repository hosts Message-Streams - API part of RSocket-JVM, suite of libraries for fast interprocess/network communication using CompletableFutures & major
33
-
Reactive Streams implementations.
28
+
This repository hosts `Message-Streams` - API part of `RSocket-JVM`: suite of libraries for interprocess/network communication over
29
+
multiple transports using multiple APIs.
34
30
35
-
RSocket-JVM includes RSocket-RPC: remote procedure call system on top of Protocol Buffers.
31
+
`Message-Streams` includes RPC: code-generation based remote procedure call system on top of Protocol Buffers.
RSocket is low latency/high throughput L5 network protocol intended for high-performance services communication.
34
+
It is transport agnostic, and runs on top of any reliable byte stream transport.
38
35
39
-
RSocket-JVM is currently comprised of RSocket-futures(CompletableFuture), RSocket-rxjava (rxjava3), RSocket-reactor (project-reactor), RSocket-helidon (helidon-commons-reactive)
**Multiple vendor libraries**. [Shared protocol core](https://jauntsdn.com/post/rsocket-jvm/) with minimal dependencies
43
-
(netty-buffer only) streamline development process for each next vendor library.
44
-
45
-
**Non-intrusive**. API ([MessageStreams](https://github.com/jauntsdn/rsocket-jvm/blob/1.1.4/rsocket-reactor/src/main/java/com/jauntsdn/rsocket/MessageStreams.java)) & runtime ([RSocket](https://github.com/jauntsdn/rsocket-jvm/blob/1.1.4/rsocket-reactor/src/main/java/com/jauntsdn/rsocket/RSocket.java)) are clearly split so from end-user perspective there is
46
-
only defined set of basic interactions on buffers/messages:
39
+
(`netty-buffer` only) streamlined development process for each vendor library & reduced maintenance cost of multiple libraries to feasible level.
40
+
41
+
Project supports 3 kinds of APIs:
42
+
* request-response with RSocket-futures (JDK only CompletableFuture);
43
+
* traditional streaming with RSocket-GRPC (GRPC-stubs StreamObserver);
44
+
* flavors of reactive with RSocket-mutiny (smallrye-mutiny), RSocket-rxjava (rxjava3), and RSocket-reactor (project-reactor).
45
+
46
+
**GRPC compatible**. All implementations are directly compatible with GRPC via MessageStreams-RPC & GRPC transport.
47
+
GRPC clients can access such services without separate "gateway" binaries and IDL sharing schemes.
48
+
49
+
**Non-intrusive**. [MessageStreams](https://github.com/jauntsdn/rsocket-jvm/blob/1.3.0/rsocket-reactor/src/main/java/com/jauntsdn/rsocket/MessageStreams.java) API & [RSocket-JVM](https://github.com/jauntsdn/rsocket-jvm/blob/1.3.0/rsocket-reactor/src/main/java/com/jauntsdn/rsocket/RSocket.java) runtime are clearly split so from end-user perspective there is
50
+
only set of streaming & non-streaming interactions on buffers/messages:
0 commit comments