AdvancedSystem-Design
45 min
Design a Global Distributed Rate Limiter
System DesignCachingConsistencyNetworking
Advertisement
Interview Question
Design a globally distributed rate limiter for multi-region APIs supporting per-user, per-IP, and per-endpoint quotas.
Key Points to Cover
- Algorithms: token bucket, leaky bucket, sliding window
- Data plane: co-located sidecars/proxies; control plane for policy
- Storage: Redis/Memcache with sharding and replication; hot key mitigation
- Correctness: eventual vs strong consistency; skew tolerance
- Failure modes: partial outages, clock drift, retries/backoff
- Observability: per-key metrics, audit trails, dashboards
Evaluation Rubric
Chooses and applies rate-limit algorithms25% weight
Designs scalable/consistent state storage25% weight
Handles failures and multi-region issues25% weight
Monitoring, audit, and safety levers25% weight
Hints
- 💡Consider sticky routing vs global coordination.
Potential Follow-up Questions
- ❓How do you prevent hot keys?
- ❓Where do you enforce per-tenant quotas?
Advertisement