From:
Reactive Messaging Patterns With the Actor Model: Applications and Integration in Scala and Akka
Reactive applications are designed to do the following:
? React to users and other application components: Reactive applications meet or exceed application response time to nonfunctional requirements.
? React to failure: Software is designed with the ability to recover at every component type by making resilience a central feature.
? React to load: Reactive applications tend to avoid shared resource contention by
managing discrete resources (for example, system entities) separately. This design constraint allows for system elasticity and high throughput.
? React to messages: The principle design philosophy of reactive applications is
message-driven through asynchronous messaging at its core.