According to The Reactive Manifesto (http://www.reactivemanifesto.org/ ), reactive systems have the following attributes:
- Responsive: The system responds in a timely manner in a consistent and predictable way.
- Resilient: The system is resilient to faults and can quickly recover from them.
- Elastic: The system maintains its responsiveness under varying workloads, by increasing or decreasing the resources allocated. This is done by dynamically finding and fixing bottlenecks. This is not to be confused with scalability. An elastic system needs to be scalable up and down according to need–see http://www.reactivemanifesto.org/glossary#Elasticity.
- Message-driven: They rely on asynchronous message-passing that ensures loose coupling, isolation, location transparency, and fault tolerance.
The need is real. Nowadays, a non-responsive system is considered...