...

>

Requirements of a Rate Limiter’s Design

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. ...