PrepZone Logo
PrepZone
All project ideas

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.