Backpressure is an integral part of Reactor. We have discussed it multiple times in previous chapters, but we will have a detailed look at the topic here. Let's recap the out-of-the-box support for backpressure that is available with Reactor. Each of the subscribers requests the number of events that it can process using the subscription object. The publisher must respect this limit and publish events that are less than or equal to the requested limit. This is depicted in the following diagram:
Invoking a request with Long.MAX_VALUE means requesting an unbounded number of events. The publisher can push as many events as it can. It is no longer bound by the subscriber limit.
As each subscriber is processing the received events, it can request additional events using the subscription handle. If the publisher is raising events rapidly, it must come up with a strategy...