Reactive Extensions: Asynchronous Reactive Systems
Reactive Extension is a paradigm to develop systems using the react model. It’s an event-driven state machine for functions. It’s possible to represent either synchronous or asynchronous communication with Reactive Extensions.
All we need is a message broker, producer of events (Observable), and consumers(Observer).
Typically, the consumer processes an event with a set of transformation/ processing. Each of the transformations is a step in the reactive pipeline. Each stage processes the data from the previous state.
In a simple sense, a typical function flow in a listener component is as following:
1. Get message 2. Unpack message 3. Process the payload 4. Log the result
With reactive experience, each step can become a thread, having a pipe for reading/writing data. Each step can be synchronous or asynchronous. We can have many pipelines, defined with a different set of tools (filters, map).