Networks are unreliable and peak loads are one of the major causes of failures. All this while your users expect your system to continue operating and be responsive. What can we do to make inter-service calls less prone to failures or peak loads and our systems more resilient?
In a streaming data processing system, we frequently have to deal with:
The same situation applies to microservice architectures, where services make use of each other via remote calls and deal with varying loads. This interaction makes the stability of one system/microservice depend a lot on the availability and load of other systems/microservices.