Rate limiting
Rate limiting is a system design strategy that helps protect services from being overwhelmed by too many requests from a single user or client.
Rate limiting algorithms
- Token bucket: Allows bursts of traffic within overall rate limit.
- Leaky bucket: Smooths traffic flow at constant rate.
- Fixed window counter: Limits requests in fixed time intervals.
- Sliding window log: Tracks requests within rolling time window.
- Sliding window counter: Smooths rate between adjacent fixed windows.