Loading...
ID <- key for the IP address/user ID/ or whatever we want to rate limit on
Token Amount <- the amount of tokens left in the bucket for this user
Token Refresh <- the amount of tokens that get added every second/minute/etc
There is a rate limit API gateway between the client and the server that if successful, lets you hit the server with the request. There is a Redis cache that the API gateway reads from to see if the request will succeed or not.
Deep dive into 2-3 key components. Explain how they work, how they scale, discuss tradeoffs, capacity, and any relevant algorithms or data structures.