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.