Rate Limiter سازوکاری برای کنترل تعداد یا سرعت درخواست در یک بازه زمانی است. توکن باکت، لیکی باکت، پنجره ثابت و پنجره لغزان از الگوریتمهای متداول آن هستند.
| روش | ویژگی |
|---|---|
| Fixed Window | ساده اما احتمال جهش در مرز بازه |
| Sliding Window | توزیع یکنواختتر هزینه درخواست |
| Token Bucket | مجاز دانستن Burst محدود |
| Leaky Bucket | صافکردن نرخ خروجی |
اصطلاحات مرتبط: ریت لیمیتینگ، محدودیت نرخ API، ردیس، حمله بروت فورس.
الگوریتم محدودیت نرخ
Fixed Window ساده است ولی در مرز دو پنجره ممکن است Burst بزرگ ایجاد کند. Sliding Window و Token Bucket برای کنترل نرمتر درخواستها کاربرد دارند. الگوریتم باید با توزیعشدگی برنامه سازگار باشد.