Skip to Content
Reactive Systems in Java
book

Reactive Systems in Java

by Clement Escoffier, Ken Finnigan
November 2021
Intermediate to advanced
296 pages
7h 17m
English
O'Reilly Media, Inc.
Book available
Content preview from Reactive Systems in Java

Chapter 4. Design Principles of Reactive Systems

In Chapter 3, we looked at the challenges behind distributed systems. It’s now time to see what Reactive has to offer. Reactive can be seen as a set of principles for building distributed systems, a kind of checklist to verify that no major known concern was overlooked while architecting and building a system. These principles focus on the following:

Responsiveness

The ability to handle requests when facing failures or peaks of load

Efficiency

The ability to do more with fewer resources

In this chapter, we cover the principles promoted by reactive systems.

Reactive Systems 101

In 2013, a group of distributed systems experts gathered and wrote the first version of “The Reactive Manifesto.” They assembled in this whitepaper their experience building distributed systems and cloud applications. While in 2013 the cloud was not precisely what it is today, the dynamic creation of ephemeral resources was already a well-known mechanism.

“The Reactive Manifesto” defines reactive systems as distributed systems having four characteristics:

Responsive

Able to handle requests in a timely fashion

Resilient

Able to manage failures gracefully

Elastic

Able to scale up and down according to the load and resources

Message driven

Using asynchronous message-based communication among the components forming the system

These four characteristics are represented in Figure 4-1.

Figure 4-1. Reactive systems characteristics

If you’re seeing ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Java 8 in Action

Java 8 in Action

Mario Fusco, Alan Mycroft, Raoul-Gabriel Urma
Java Concurrency in Practice

Java Concurrency in Practice

Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea

Publisher Resources

ISBN: 9781492091714Errata PageSupplemental Content