Most developers have seen this message before:
429 Too Many Requests
But what actually happens behind the scenes before a system decides to reject a request?
How are requests counted?
Where is that data stored?
How does the system handle millions of users?
And what does the architecture of a rate limiter look like?
This project explores rate limiter design from the ground up, covering requirements, capacity estimation, and high-level architecture.
Topics covered:
- Introduction
- What is a Rate Limiter?
- Why Do We Need a Rate Limiter?
- Functional Requirements
- Non-Functional Requirements
- Capacity Estimation
- High-Level Design
Algorithms and race conditions are coming soon.

















