Interactive visualizations of rate-limiting algorithms.
Requests are counted inside fixed intervals; the counter resets at each boundary. Demonstrates the burst-at-the-boundary weakness.
The window slides continuously with the current moment, so old requests expire gradually and no hard reset boundary exists to exploit.
Tokens refill at a steady rate and accumulate while idle, allowing short bursts up to capacity while still enforcing the long-run average rate.
Requests queue in a fixed-capacity bucket that drains at a constant rate; a full bucket overflows. Turns bursty input into constant outflow.