Backpressure in Project Reactor: Saving your Subscribers from drowning

One of the main mechanisms behind Reactive Programming is backpressure. In this article we’ll take a look at the concept, and some of the advantages it creates when working with Reactive Streams. The concept of backpressure in Reactive Streams is as elegant as it is powerful. It will enable the use of slow Consumers within … Continue reading "Backpressure in Project Reactor: Saving your Subscribers from drowning"

Read More

Flux Caching in Project Reactor: Replaying past data

In the article Flux Sharing in Project Reactor: From one to many we looked at how we can attach multiple Fluxes to an initial Flux by sharing it, to create multiple substreams from our original Reactive stream. This offers quite a bit of extra power. We can “feed” data to different subsystems that can consume … Continue reading "Flux Caching in Project Reactor: Replaying past data"

Read More

Flux Sharing in Project Reactor: From one to many

Reactive Applications often require Reactive Streams to be subscribed to by multiple Subscribers at the same time. For example when the same information streams needs to be used by different components in the application, or when we want to let the data stream to different users. Especially in real-time applications this can be a huge … Continue reading "Flux Sharing in Project Reactor: From one to many"

Read More

TopicProcessor in Project Reactor: Spreading the message to many

When building your Reactive Application, you sometimes want to split up your single stream into several ones, running concurrently. One of the ways this can be done using the TopicProcessor. Very similary to the concept of a Topic seen in JMS, a TopicProcessor can be used to subscribe on one or multiple streams, and have … Continue reading "TopicProcessor in Project Reactor: Spreading the message to many"

Read More

Combining Fluxes in Project Reactor

Analogous to combining Mono’s, which we discussed in this article we can also combine Fluxes in several ways. With Project Reactor we can use Fluxes to signal back zero, one, or more than one element. This makes it inherently different to the Mono datatype, which is only able to return one or zero elements. This … Continue reading "Combining Fluxes in Project Reactor"

Read More