Requirements of a Rate Limiter’s Design
Define the functional and non-functional requirements for designing a highly available and scalable rate limiter. Analyze critical architectural decisions like placement, throttling types, and the trade-offs of using centralized vs. distributed counter storage models.
Requirements
This lesson focuses on designing a rate limiter with the following functional and non-functional requirements.
Functional requirements
Limit the number of requests a client can send within a time window.
Ensure request limits per window are configurable.
Notify the client (via error or notification) when a threshold is crossed.
Non-functional requirements
Availability: The rate limiter must protect the system and be highly available. ...