Project Reactor: Main Features

Learn about the main features of Project Reactor.

Overview

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 backpressureThe ability for the consumer to signal the producer that the rate of emission is too high..

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.

Get hands-on with 1200+ tech skills courses.