L7 · Hard
Rate Limiter
Problem
Design a rate limiting service that restricts request rates per user/IP using multiple algorithms.
Requirements
- Support algorithms: Fixed Window, Sliding Window, Token Bucket, Leaky Bucket
- Configure limits per user, per API endpoint, or globally
- Return remaining quota and reset time in headers
- Distributed rate limiting (multiple server nodes)
- Allow burst allowance with token bucket
Constraints
- –Precision: milliseconds
- –Redis for distributed state
- –Config: max_requests, window_size per rule
✓ Saved