Rate Limit
Rate Limit (ограничение частоты запросов) — механизм, ограничивающий количество запросов, которые клиент может отправить к API за единицу времени.
Синонимы: лимит запросов, throttle
Определение
Rate Limit (ограничение частоты запросов) — механизм, ограничивающий количество запросов, которые клиент может отправить к API за единицу времени. В Nakrut Pro rate limit — 60 запросов в минуту на API-ключ. При превышении сервер возвращает HTTP 429 Too Many Requests с заголовком Retry-After, указывающим, через сколько секунд можно повторить. Rate limit защищает сервер от DDoS и от злоупотреблений (например, скрипт, который отправляет 10 000 запросов в секунду). Стратегии rate limit: фиксированное окно (60 запросов в минуту, обнуляется в начале каждой минуты), скользящее окно (60 запросов в любые 60 секунд), token bucket (позволяет всплески, но средняя скорость ограничена). В Nakrut Pro используется sliding window с Redis: для каждого ключа хранится список timestamp последних 60 секунд, при новом запросе проверяется count. Рекомендация клиентам: реализовать exponential backoff при 429 — повторять запрос через 1, 2, 4, 8 секунд.
См. также
API
API (Application Programming Interface, программный интерфейс приложения) — набор правил и протоколов, по которым одно приложение взаимодействует с другим.
СмотретьRedis
Redis (Remote Dictionary Server) — высокопроизводительная in-memory база данных типа ключ-значение.
СмотретьPolling
Polling — техника, при которой клиент периодически опрашивает сервер о наличии новых данных.
Смотреть