RSocket

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
RSocket
Initial release26 October 2015; 10 years ago (2015-10-26)
Repositorygithub.com/rsocket
Written inJava, JavaScript, Kotlin, C#, Go, C++, Python
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    TypeReactive Streams networking
    LicenseApache License
    Websitersocket.io

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal'). RSocket is an application protocol initially developed by Netflix,[1] 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.[2]

    Protocol

    [edit | edit source]

    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.

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]