RSocket
RSocket is an application protocol initially developed by Netflix, that supports Reactive Streams. The motivation behind its development was to replace HTTP, which is inefficient for many tasks such as microservices communication, with a protocol that has less overhead.
Protocol
RSocket is a binary protocol for use on byte stream transports such as TCP and WebSocket. It enables the following symmetric interaction models via async message passing over a single connection:
- request/response (stream of 1)
- request/stream (finite stream of many)
- fire-and-forget (no response)
- channel (bidirectional streams)
It supports session resumption, to allow resuming long-lived streams across different transport connections. This is particularly useful for mobile‹–›server communication when network connections drop, switch, and reconnect frequently.