LeakyBucket
Requests fill a queue (the bucket) and are processed (leak out) at a fixed, constant rate — smooths bursty input into steady output, unlike token bucket which allows bursts through.
Why we need this / what value this brings
Enforces a strictly smooth, constant output rate — useful specifically when the thing being protected downstream can't tolerate bursts at all.
When to use this
Protecting a downstream dependency (e.g. a third-party API with a strict per-second limit) where smoothing matters more than allowing the caller any burst.
How to use or implement this
Queue incoming requests and process them from the queue at a fixed rate; reject or queue-with-timeout when the queue is full.
Research questions
- Where would a smoothed, constant output rate matter more than allowing bursts — e.g. protecting a downstream third-party API with a strict rate limit of its own?
Empty folder — drop notes, links, and findings here as you research.