mishnit.github.io

API Rate Limiter

Summary

overview

Once a new request arrives, the Web Server asks the Rate Limiter to decide if it will be served or throttled.

Requirement

Functional requirements

Performance requirements

Throttling

Rate Limiting Algorithm

window

Fixed Window Solution

Sliding Window Solution

Sliding Window with Counters

Data Sharding

Data Caching

Rate Limit by IP or by User