
RP versus Reactive systems versus Reactive architecture
A Reactive system is a set of components that communicate with each other reactively. By combining those individual components into one, we can form a modern distributed system. We can develop a Reactive system by following a set of architectural design principles.
Reactive system components work as a single system and they react to changes in a timely manner.
Reactive systems or Reactive applications have the following features:
- Responsiveness: They react to users in a timely manner
- Elasticity: They react to load
- Resilience: They react to failures
- Message-Driven: They react to events or messages
We will discuss these components of Reactive Streams in detail in the Reactive Manifesto section. Reactive Architecture is a technique or a process of designing Reactive systems.
We can develop Reactive systems using many techniques. However, RP or FRP are the best tools to build Reactive systems.
The core principle of a Reactive system is developing its components using a Message-Driven approach, whereas RP is all about writing programs using events, which means it follows an Event-Driven approach.
As we said, a Reactive system is a set of components. We use RP at the component level, which means that we develop each component using RP. We use a Reactive system at the system level.