What is RSocket?
It is a binary protocol for use on byte stream transports such as TCP, WebSockets, and Aeron. It provides a protocol for Reactive Streams semantics between client-server, and server-server communication.
RSocket is a tool in the Remote Procedure Call (RPC) category of a tech stack.
RSocket is an open source tool with 1.7K GitHub stars and 165 GitHub forks. Here’s a link to RSocket's open source repository on GitHub
Who uses RSocket?
RSocket Integrations
JavaScript, Java, Swift, Kotlin, and C++ are some of the popular tools that integrate with RSocket. Here's a list of all 6 tools that integrate with RSocket.
RSocket's Features
- Messaging protocol
- Supports TCP
- Supports Websockets
- Supports Aeron
- Binary messages
- Multiplexing
- Reactive Streams
RSocket Alternatives & Comparisons
What are some alternatives to RSocket?
gRPC
gRPC is a modern open source high performance RPC framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking...
Apache Dubbo
It is a high-performance, light weight, java based RPC framework. Dubbo offers three key functionalities, which include interface based remote call, fault tolerance & load balancing, and automatic service registration & discovery.
JSON-RPC
It is a very simple protocol, defining only a few data types and commands. It allows for notifications (data sent to the server that does not require a response) and for multiple calls to be sent to the server which may be answered out of order.
Tars
It is an open-source microservice platform. It contains a high-performance RPC framework and a service management platform. Based on Tars, you can develop a reliable microservice system efficiently.
It is designed for high reliability, high performance, and efficient service management. By significantly reducing system operation work, developers can focus on business logic and meet fast changes of user requirements.
Mercury
A modular JSON-RPC library that allows pluggable transport layers, JSON libraries, and effect/async monads.
It is used to communicate with embedded devices where the device is acting in the server role.
Related Comparisons
No related comparisons found