Project Reactor: Main Features
Project Reactor is a framework built by Pivotal and powered by Spring. It implements reactive programming patterns and, more specifically, the Reactive Streams specification.
If you’re familiar with Java 8 Streams, you’ll quickly find many similarities between a Stream and a Flux (or its single-element version, Mono). The main characteristics that differentiate Fluxes and Monos from the Stream API are that the first two follow a publisher-subscriber pattern and implement
Publish-subscriber pattern and backpressure
For instance, if you declare a Flux that takes elements from a database, maps them by applying an operation, and filters them according to some random criteria, then nothing happens. It will do all these operations only when a subscriber subscribes to the Flux. Furthermore, the items flow through the processing logic only when the subscriber is ready to consume more elements. This is the backpressure concept we mentioned earlier in this course.