System design interview question
Design a Distributed Rate Limiting and Quota Management System like Stripe's API Rate Limiter
Design a globally distributed rate limiting system that enforces per-API-key quota and rate limits across multiple data centers. The system must handle 500K concurrent API clients, sustain 10M requests/second globally with sub-millisecond latency for rate limit checks, support multiple rate limit strategies (token bucket, sliding window, leaky bucket), and provide accurate quota enforcement across geographically distributed servers without sacrificing performance. Clients span multiple regions (US, EU, APAC), and the system must tolerate brief network partitions while remaining eventually consistent. Additionally, you must design monitoring and alerting for quota exhaustion, provide real-time dashboards showing per-client usage, and support dynamic rate limit adjustments without service restarts.
Practice this question step by step with an AI interviewer that reviews your requirements, your architecture and your trade-offs, and scores the design.