Reactive principles

Reactive principles

Responsive

The system consistently responds in a timely fashion.

Resilient

The system remains responsive, even when failures occur. Resilience is achieved by replication, isolation and delegation: failures are isolated to a single component, recovery is delegated to an external component.

Elastic

The system remains responsive, despite increases (or decreases) in the system load: scaling up provides responsiveness during peak, while scale down improves cost effectiveness.

Message Driven

The system is built on a foundation of asynchronous, non-blocking messages. It provides loose coupling, isolation and location transparency.