Publiczne API
Każdy klucz API dostaje limit zależny od planu, ze szczytami dla dobrze zachowujących się klientów i precyzyjnym Retry-After dla reszty.
Atomowe limity zapytań po stronie serwera. GCRA jednym poleceniem lub nazwane limitery z oknem przesuwnym, token bucket lub leaky bucket. Bez Lua.
10 żądań na minutę dla użytkownika 42. Odpowiedź mówi: dozwolone, limit i ile zostało.
Animowany przegląd z prawdziwymi poleceniami HotKV i przykładowymi odpowiedziami. Kliknij dowolny krok, aby do niego przejść. Polecenia i odpowiedzi pozostają po angielsku, dokładnie tak, jak je wpisujesz i widzisz w HotKV.
API bez limitów jest o jednego źle zachowującego się klienta od awarii. Wykonanie kontroli w kodzie aplikacji oznacza odczyt, obliczenie i zapis, a równoległe żądania prześlizgują się w lukach między nimi. Wiele zespołów kończy, utrzymując skrypt Lua tylko po to, by uczynić to atomowym.
GCRA.LIMIT decyduje i zapisuje w jednym kroku, więc równoległi klienci nie mogą obaj przejść na tym samym stanie, a limit odnawia się płynnie zamiast resetować się na granicach okien. Dla limitów zarządzanych po nazwie RATELIMIT.CREATE konfiguruje limiter z oknem przesuwnym, token bucket lub leaky bucket, ze statystykami tego, co dozwolił i odrzucił.
10 żądań na minutę dla użytkownika 42. Odpowiedź mówi: dozwolone, limit i ile zostało.
GCRA.LIMIT ratelimit:user:42 60000 10Scraper zużywa swój zapas na szczyty, a potem dowiaduje się, jak długo czekać. Odrzucone żądanie niczego nie zmienia.
GCRA.LIMIT ratelimit:bot:7 60000 10Klienci planu darmowego dostają 100 żądań na minutę w oknie przesuwnym.
RATELIMIT.CREATE free_plan 100 60000 ALGO sliding_windowEndpoint eksportu kosztuje 20 jednostek, więc zużywa więcej limitu.
RATELIMIT.CHECK free_plan customer:881 COST 20Ustawienia, śledzone klucze i sumy dozwolonych i odrzuconych żądań.
RATELIMIT.STATS free_planKażdy klucz API dostaje limit zależny od planu, ze szczytami dla dobrze zachowujących się klientów i precyzyjnym Retry-After dla reszty.
Próby na IP i na konto są limitowane, aby spowolnić credential stuffing.
Wywołania API partnera lub dostawcy LLM są utrzymywane poniżej ich limitu na wszystkich workerach floty.
Płynne odnawianie ze szczytami, atomowa kontrola i aktualizacja, czas ponowienia przy odmowie.
GCRA.LIMITGCRA.RESETOkno przesuwne, token bucket lub leaky bucket, tworzone raz i sprawdzane dla każdego klucza.
RATELIMIT.CREATERATELIMIT.CHECKKosztowne wywołania mogą liczyć się jako kilka żądań. GCRA.LIMIT przyjmuje liczbę, RATELIMIT.CHECK parametr COST.
COSTSumy dozwolonych i odrzuconych dla każdego limitera.
RATELIMIT.STATSNie. Zarówno GCRA.LIMIT, jak i RATELIMIT.CHECK wykonują całą kontrolę jako jedno atomowe polecenie.
GCRA.LIMIT nie wymaga konfiguracji i działa w każdym planie. Nazwane limitery RATELIMIT.* dodają wybór algorytmu i statystyki i są częścią planów Performance i Scale.
Nic. Odrzucone wywołanie GCRA zostawia limiter bez zmian, więc klient, który ponawia, nie jest dalej karany.
HotKV mówi protokołem Redis, więc możesz skierować na niego istniejącego klienta i uruchomić te same polecenia.