As discussed in the preceding sections, generating a timely response is an important aspect of reactive systems. The requirement means that reactive systems must provide a deterministic response in a timely manner. However, all software systems are inherently unreliable. The underlying network itself is unreliable. All components can fail without providing a response. As a result, systems with streaming results can get stuck waiting for a response.

A way to address this unreliability is to adapt the fail-fast system design. This design dictates that a system makes some assumptions for normal operations, and it must fail as soon as these assumptions are broken. This leads to the early reporting of likely issues. In order to do this, ...

Get Hands-On Reactive Programming with Reactor now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.