Reactive principles
So, what is reactive programming?
It's summarized nicely by the reactive manifesto: https://www.reactivemanifesto.org.
To cite it, reactive programs are:
- Responsive
- Resilient
- Elastic
- Message-driven
To understand these four topics, let's imagine 10 people standing in a line for a cashier. Each one of them can see only the person in front, but not how many people are in the line ahead of that person or what the cashier is doing. Do you have this picture in your mind? Let's start then.
Responsiveness
Would you stand in that line for the cashier?
That depends on the urgency and how much time you have. If you're in a hurry, you'll probably leave empty-handed before reaching the cash register.
That's a system being unresponsive to you. You're often in the same situation when reaching a call center of one of the service providers by phone. You're asked to wait on the line, and you wait. But, more often than not, a nice automatic voice tells you how many people are waiting on the same...