RSocket

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

  1. ^ Monkiewicz, Łukasz (June 4, 2017). "A summary of Code Europe 2017 in Warsaw". lmonkiewicz.com. Retrieved May 7, 2017.
  2. ^ Christensen, Ben (Apr 3, 2017). "Motivations". github.com. Retrieved May 7, 2017.