We see the digital acceleration happening with COVID19 pandemic. We as technologists are forced to move fast into the future. Traditional system architectures doesn’t suffice meeting the modern day demand for technology and its scale of business operations. People can’t wait to be served. Apps and systems need to be responsive and available.
And this is the problem space Reactive Architecture wants to address.
Back in 2014, a bunch of technologists came together and defined Reactive Manifesto which outlines the characteristics (design principles) of a reactive system. Around 2016, concept of reactive programming picked up pace. This is not to be confused with Reactive systems as reactive programming deals at individual program level rather than the system at large. Reactive programming is a subset of asynchronous program that aims to make better use of system resources when the information is available rather than waiting (thread) for information to be available.
Reactive programming came very handy for streams esp live streams volume is not per-determined. Java 9 introduced Flow APIs to support reactive streams.