As the communication between microservices increases and becomes more complex,
we often have to deal with limitations on how fast we can call internal or
external APIs. When the services are distributed and scaled horizontally, we
find that limiting the speed while preserving high availability and robustness
can become quite