Reactive programming is a paradigm that aims at building better concurrent systems. Reactive applications are designed to comply with the requirements exemplified by the reactive manifesto:
- Responsive: The system responds immediately to the user.
- Elastic: The system is capable of handling different levels of load and is able to adapt to accommodate increasing demands.
- Resilient: The system deals with failure gracefully. This is achieved by modularity and avoiding having a single point of failure.
- Message driven: The system should not block and take advantage of events and messages. A message-driven application helps achieve all the previous requirements.
As you can see, the intent of reactive systems is quite noble, ...