When demand outruns capacity: rate limits, retries, and backpressure
When requests arrive faster than a system can handle them, it either sheds the extra load or falls over. This quiz covers the limiter algorithms (token and leaky buckets, fixed and sliding windows), where to apply a limit (per IP, per user, or in the browser with debounce and throttle), how to tell clients to slow down (429, Retry-After, backoff with jitter), and how Node.js streams push back on a fast producer so a slow consumer doesn't run out of memory.
Questions
- Not answered. Token bucket or leaky bucket: which one lets traffic burst?
- Not answered. How many requests get through in the first instant of the burst?
- Not answered. What does the fixed-window limiter do with these 200 requests?
- Not answered. What is the estimated request count for the last 60 seconds?
- Not answered. How does a sliding-window log differ from a sliding-window counter?
- Not answered. What's the trade-off between per-IP and per-user rate limiting?
- Not answered. 429 or 503: which one says "it's you" and which says "it's me"?
- Not answered. Which are valid
Retry-Aftervalues? - Not answered. How many milliseconds does the client wait before the retry at
attempt = 4? - Not answered. Which statements about adding jitter to backoff are true?
- Not answered. What's the two-word name for this retry problem?
- Not answered. What does it mean when
writable.write()returnsfalse? - Not answered. What happens when the source is much faster than the slow socket?
- Not answered. Why is a bounded queue better than an unbounded one under overload?
- Not answered. Which behavior is debounce, and which is throttle?