(no title)
GeneralMayhem | 8 days ago
Absorbing bursts is one purpose for a queue, but often not the only or even most important one. Other reasons include:
Correctness reasons:
* Providing a durable history of requests that were sent
* Creating at-least-once semantics for important (e.g. financial) data
Scaling reasons:
* Allowing a shuffle between producer and consumer to change shard/key affinity (can be done with direct RPCs, but would need extra library support)
* Pipelining variable-cost requests so that consumers can self-rate-limit and stay optimally loaded
No comments yet.