Публічні API
Кожен ключ API отримує ліміт за планом, зі сплесками для добросовісних клієнтів і точним Retry-After для решти.
Атомарні серверні обмеження частоти. GCRA однією командою або іменовані обмежувачі зі ковзним вікном, token bucket чи leaky bucket. Lua не потрібен.
10 запитів на хвилину для користувача 42. Відповідь повідомляє: дозволено, ліміт і скільки лишилося.
Анімований покроковий розбір з реальними командами HotKV і прикладами відповідей. Натисніть будь-який крок, щоб перейти до нього. Команди та відповіді залишаються англійською, так само, як ви вводите й бачите їх у HotKV.
API без обмежень відділяє від збою один клієнт, що поводиться неправильно. Перевірка в коді застосунку означає читання, обчислення і запис, а паралельні запити проскакують у проміжках між ними. Багато команд зрештою підтримують скрипт Lua лише для того, щоб зробити це атомарним.
GCRA.LIMIT вирішує й записує одним кроком, тож паралельні клієнти не можуть обидва пройти на тому самому стані, а ліміт поповнюється плавно, а не скидається на межах вікон. Для лімітів, якими ви керуєте за іменем, RATELIMIT.CREATE налаштовує обмежувач зі ковзним вікном, token bucket чи leaky bucket зі статистикою дозволеного й відхиленого.
10 запитів на хвилину для користувача 42. Відповідь повідомляє: дозволено, ліміт і скільки лишилося.
GCRA.LIMIT ratelimit:user:42 60000 10Скрейпер вичерпує свій дозвіл на сплеск, і йому кажуть, скільки чекати. Відхилений запит нічого не змінює.
GCRA.LIMIT ratelimit:bot:7 60000 10Клієнти безкоштовного плану отримують 100 запитів на хвилину у ковзному вікні.
RATELIMIT.CREATE free_plan 100 60000 ALGO sliding_windowКінцева точка експорту коштує 20 одиниць, тож вона використовує більше дозволу.
RATELIMIT.CHECK free_plan customer:881 COST 20Налаштування, відстежувані ключі та підсумки дозволених і відхилених запитів.
RATELIMIT.STATS free_planКожен ключ API отримує ліміт за планом, зі сплесками для добросовісних клієнтів і точним Retry-After для решти.
Спроби на IP і на акаунт обмежуються, щоб уповільнити credential stuffing.
Виклики API партнера чи провайдера LLM тримаються нижче їхньої квоти в усіх воркерах парку.
Плавне поповнення зі сплесками, атомарні перевірка й оновлення, час повтору при відмові.
GCRA.LIMITGCRA.RESETКовзне вікно, token bucket чи leaky bucket, створені раз і перевіряються для кожного ключа.
RATELIMIT.CREATERATELIMIT.CHECKДорогі виклики можуть рахуватися як кілька запитів. GCRA.LIMIT приймає лічильник, RATELIMIT.CHECK значення COST.
COSTПідсумки дозволеного й відхиленого для кожного обмежувача.
RATELIMIT.STATSНі. І GCRA.LIMIT, і RATELIMIT.CHECK виконують усю перевірку однією атомарною командою.
GCRA.LIMIT не потребує налаштування й працює на кожному плані. Іменовані обмежувачі RATELIMIT.* додають вибір алгоритму та статистику й входять до планів Performance і Scale.
Нічого. Відхилений виклик GCRA не змінює обмежувач, тож клієнт, що повторює спробу, не штрафується далі.
HotKV розмовляє протоколом Redis, тож ви можете направити на нього наявний клієнт і виконувати ті самі команди.