Design a Rate Limiter for a Data API
System Design
Redis
Design and implement a sliding window rate limiter using Redis. The API allows 100 requests per minute per API key. Implement the core logic including window tracking, quota enforcement, and proper error responses when the limit is exceeded.
Constraints
- •Use Redis sorted sets for sliding window
- •100 requests per minute per API key
- •Must handle burst of up to 20 requests
- •Return remaining quota in response headers
Expected Output
Request 1: allowed=True, remaining=99 Request 2: allowed=True, remaining=98 ... Request 100: allowed=True, remaining=0 Request 101: allowed=False, remaining=0 Request 102: allowed=False, remaining=0
Related Challenges
Solution
1
Output
Run your code to see output here.Difficulty
Hard
Submissions
4,281
Acceptance
68%