The Reactive Manifesto

framework · computer science · organizing-schema

Principles for systems that are responsive, resilient, elastic, and message-driven.

The Reactive Manifesto was published in 2013 (with version 2.0 in 2014) by Jonas Bonér, Dave Farley, Roland Kuhn, and Martin Thompson, articulating principles for distributed systems that need to remain responsive under load, partial failures, and varying network conditions. The four characteristic properties: Responsive (the system responds in a timely manner if at all possible — responsiveness is the cornerstone of usability and utility); Resilient (the system stays responsive in the face of failure through replication, containment, isolation, and delegation); Elastic (the system stays responsive under varying workload through reactive scaling); Message Driven (asynchronous message-passing as the foundation for the other three, providing loose coupling, isolation, and location transparency). The manifesto is closely associated with the Akka actor framework (Bonér's project), Reactive Streams specification (which became the JDK Flow API and influenced RxJava, Reactor, and similar libraries), and the broader functional-reactive programming movement. The framework's influence extends to microservices design, stream-processing architectures, and event-driven systems, with the four characteristic properties widely cited even where the specific Reactive Manifesto label is not invoked.

Originators

Jonas Bonér; Dave Farley; Roland Kuhn; Martin Thompson high

Year / Decade

2013 (v1); 2014 (v2) high

Primary sources

Bonér, J., Farley, D., Kuhn, R. & Thompson, M. (2014). The Reactive Manifesto v2.0 (reactivemanifesto.org), Reactive Streams Specification (reactive-streams.org) high

Core components

Primary use case

Distributed systems requiring high availability and elasticity; foundation for actor-based and stream-processing systems; influence on microservices design particularly around resilience and asynchronous communication; basis for reactive programming libraries across JVM, .NET, JavaScript ecosystems; reference framework in distributed-systems education.

Common criticisms

Lineage

Siblings
Event-Driven Architecture, Microservices