🌿A queue is a loan against future capacity
Putting a queue in front of an overloaded service feels like relief - spikes disappear, callers get instant acknowledgements. But a queue adds no capacity. It borrows capacity from the future.
If arrival rate exceeds processing rate for any sustained window, the backlog grows without bound and latency grows with it. The queue was never a fix; it was hiding the fact that you are simply too slow. The debt comes due as ballooning queue depth and work that's stale by the time it's handled.
Queues absorb bursts, not trends. They smooth spiky load, decouple producers from consumers, and buy time to scale. What they cannot do is repay a throughput deficit.
Treat queue depth as a leading indicator of trouble, and pair every queue with backpressure so the loan has a credit limit - better to reject fast than to accept work you'll never finish.
Related
Linked from
- 🌿 Distributed Systems
An evolving map of hardwon lessons about building systems that span more than one machine…
- 🌿 Retries without backoff turn a blip into an outage
A single failed request retried immediately is harmless. Ten thousand clients retrying a…
- 🌿 Timeouts are a design decision, not a default
An unset timeout is not "no timeout." It's the longest timeout in your stack inherited from…