Advanced · 2–3 weeks
Distributed Rate Limiter as a Service
Standalone rate limiting microservice using token bucket or sliding window in Redis. REST/gRPC API for other services to check quotas. Per-API-key and per-IP limits with configurable tiers.
Why this project
Compact but deep — algorithms, Redis atomicity, and API design. Great system design interview story.
Tech stack
Java 17Spring Boot 3RedisLua scriptsgRPC optional
Skills demonstrated
- Rate limiting algorithms
- Redis atomic operations
- High-throughput API design
- Multi-tenant quotas
Interview talking points
- Token bucket vs sliding window
- Redis Lua for atomicity
- Fail-open when Redis is down
- Scaling to millions of keys
Problem statement
Standalone rate limiting microservice using token bucket or sliding window in Redis. REST/gRPC API for other services to check quotas. Per-API-key and per-IP limits with configurable tiers.