RSocket
Initial release | 26 October 2015 |
---|---|
Repository | github |
Written in | Java, JavaScript, Kotlin, .NET, Go, C++, Python |
Type | Reactive Streams networking |
License | Apache License |
Website | rsocket |
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
[edit]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
[edit]- ^ Monkiewicz, Łukasz (June 4, 2017). "A summary of Code Europe 2017 in Warsaw". lmonkiewicz.com. Retrieved May 7, 2017.
- ^ Christensen, Ben (Apr 3, 2017). "Motivations". github.com. Retrieved May 7, 2017.