The release of the Reactive Manifesto in 2013 has popularized the term “reactive applications”. The purpose of the manifesto is to describe a new approach to systems architecture and the key characteristics that these systems will need to implement. Why would we need a new approach to systems? A few years ago a large application would typically consist of tens of servers, response times of a few seconds, gigabytes of data and downtime was a generally accepted norm. Today this has changed dramatically. Applications now span hundreds of servers, are dependent on many other systems, response times need to typically be sub second, terabytes of data and 100% up-time. This is further compounded by the fact that organisations are becoming more transparent by allowing customers direct views of internal processes via the web and mobile devices. The organizations that can adapt to this new playing field are the ones that can set themselves up for success tomorrow.
The Reactive manifesto takes many patterns and concepts and packages them together to form a cohesive set of terms and concepts. These together are termed reactive applications. Version one of the reactive manifesto addresses four design characteristics of responsive applications.