Before starting the design, we first look at the benefits of using an API rate limiter:

Step 1 - Understand the problem and establish design scope

Untitled

Summary of the requirements for the system:

Step 2 - Propose high-level design and get buy-in

Where to put the rate limiter?

Cloud microservices have become widely popular and rate limiting is usually implemented within a component called API gateway. For now, we only need to know that the API gateway is a middleware that supports rate limiting.

where should the rater limiter be implemented, on the server-side or in a gateway?