Reactive Programming Model - keshavbaweja-git/guides GitHub Wiki
Essence of Reactive Programming Model
- Non blocking applications
- Event driven
- Asynchronous
- Use lesser number of threads for scaling
- Backpressure (slow consumer can have back pressure applied to a fast producer)
Reactive Streams
A standard and specification for Stream oriented libraries for JVM supporting Reactive programming model -
- Process an unbounded stream of events/data elements
- In sequence
- Asynchronously
- With mandatory non blocking back pressure
Reactive Streams API
- Publisher
- Subscriber
- Subscription
- Processor
Reactor
A implementation of Reactive Streams
Publishers
- Hot
- Cold
Container runtimes
- Servlet 3.1 specification supports Reactive programming model
- Netty (non Servlet container)
- Undertow (non Servlet container)