reactive-programmingrsocketrsocket-java

Is RSocket a fifth generation reactive framework?


As per David Karnok's classification 5th generation reactive frameworks are described as below

Reactive-Streams will need extensions to support reactive IO operations in the form of bi-directional sequences (or channels).

operator-fusion by David Karnok's

RSocket definition goes as below

RSocket is an application protocol providing Reactive Streams semantics over an asynchronous, binary boundary. It enables the following symmetric interaction models via async message passing over a single connection: request/response (stream of 1) request/stream (finite/infinite stream of many) fire-and-forget (no response) channel (bi-directional streams)

So Is RSocket a fifth generation reactive framework?


Solution

  • Simply put, if you want to follow David Karnok's definition of what a fifth generation reactive framework would be, then the answer is yes:

    RSocket extends the reactive semantics to the wire level making distributed systems aware of each others capacities and allowing to move the flow control, back pressure, and lease to the protocol level without any custom addition to remediate a situation where consumer cannot keep up with the pace of the produce such as buffering, throttling...