It’s increasingly obvious that the old, linear, three-tier architecture model is obsolete.
- A Gartner Summit track description
What has changed over the time?
Few years ago, large applications had tens of server, seconds of response time, hours of offline maintenance time and gigabytes of data.
Today applications are getting deployed on mobile devices to cloud-based clusters, running thousands of multi-core processors. Modern users expect millisecond response times and 100% uptime. Data is measured in Petabytes.
Current users software demand can not met by yesterday's system architecture.
What is Reactive System?
We have already identified the all necessary aspects of the modern system architecture. We want systems that are Responsive, Resilient, Elastic and Message Driven. We call these Reactive Systems.
Its core meaning has been formalized with the creation of the Reactive Manifesto2 in 2013, when Jonas Bonér collected some of the brightest minds in the distributed and high-performance computing industry – Dave Farley, Roland Kuhn, and Martin Thompson to collaborate and solidify what the core principles were for building reactive applications and systems. The goal was to clarify some of the confusion around reactive and build a strong basis for what would become a viable development style.
React to user/client in timely manner ~= real time !
Ability to withstand failure
Elastic ~= Scale up(> request traffic) and Scale Down (< request traffic)
Message Driven ~= Asynchronous and non blocking messaging behaviour