Software:RSocket

From HandWiki
Short description: Application protocol that supports Reactive Streams
RSocket
Initial release26 October 2015; 8 years ago (2015-10-26)
Repositorygithub.com/rsocket
Written inJava, JavaScript, Kotlin, .NET, Go, C++, Python
TypeReactive Streams networking
LicenseApache License
Websitersocket.io

RSocket is an application protocol initially developed by Netflix,[1] that supports Reactive Streams. The motivation behind its development was to replace hypertext transfer protocol (HTTP), which is inefficient for many tasks such as microservices communication, with a protocol that has less overhead.[2]

Protocol

RSocket is a binary protocol for use on byte stream transports such as TCP, WebSockets, and Aeron. 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 (bi-directional 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.

References