API-uri publice
Fiecare cheie API primește o limită pe plan, cu rafale pentru clienții cuminți și un Retry-After precis pentru ceilalți.
Limite de rată atomice, pe server. GCRA într-o singură comandă sau limitatoare cu nume, cu fereastră glisantă, token bucket sau leaky bucket. Fără Lua.
10 cereri pe minut pentru utilizatorul 42. Răspunsul spune permis, limita și câte au rămas.
O demonstrație animată cu comenzi HotKV reale și răspunsuri de exemplu. Faceți clic pe orice pas pentru a sări la el. Comenzile și răspunsurile rămân în engleză, exact așa cum le tastați și le vedeți în HotKV.
Un API fără limite este la un singur client dezordonat distanță de o cădere. Dacă verificarea se face în codul aplicației, înseamnă o citire, un calcul și o scriere, iar cererile concurente se strecoară prin golurile dintre ele. Multe echipe ajung să întrețină un script Lua doar ca să o facă atomică.
GCRA.LIMIT decide și înregistrează într-un singur pas, deci clienții concurenți nu pot trece amândoi pe aceeași stare, iar limita se reface lin, în loc să se reseteze la marginile ferestrei. Pentru limitele pe care le gestionați după nume, RATELIMIT.CREATE configurează un limitator cu fereastră glisantă, token bucket sau leaky bucket, cu statistici despre ce a permis și ce a refuzat.
10 cereri pe minut pentru utilizatorul 42. Răspunsul spune permis, limita și câte au rămas.
GCRA.LIMIT ratelimit:user:42 60000 10Botul își consumă alocația de rafală și i se spune apoi cât are de așteptat. O cerere refuzată nu schimbă nimic.
GCRA.LIMIT ratelimit:bot:7 60000 10Clienții din planul gratuit primesc 100 de cereri pe minut pe o fereastră glisantă.
RATELIMIT.CREATE free_plan 100 60000 ALGO sliding_windowUn endpoint de export costă 20 de unități, deci consumă mai mult din alocație.
RATELIMIT.CHECK free_plan customer:881 COST 20Setările, cheile urmărite și totalurile cererilor permise și refuzate.
RATELIMIT.STATS free_planFiecare cheie API primește o limită pe plan, cu rafale pentru clienții cuminți și un Retry-After precis pentru ceilalți.
Încercările pe IP și pe cont sunt limitate ca să încetinească atacurile de tip credential stuffing.
Apelurile către un API partener sau către un furnizor LLM sunt ținute sub cota lor, la nivelul tuturor workerilor din flotă.
Reîncărcare lină cu rafale, verificare și actualizare atomice, un timp de reîncercare la refuz.
GCRA.LIMITGCRA.RESETFereastră glisantă, token bucket sau leaky bucket, create o dată și verificate pe cheie.
RATELIMIT.CREATERATELIMIT.CHECKApelurile costisitoare pot conta ca mai multe cereri. GCRA.LIMIT primește un număr, RATELIMIT.CHECK un COST.
COSTTotaluri de permise și refuzate pe limitator.
RATELIMIT.STATSNu. Atât GCRA.LIMIT, cât și RATELIMIT.CHECK fac întreaga verificare ca o singură comandă atomică.
GCRA.LIMIT nu cere nicio configurare și funcționează în fiecare plan. Limitatoarele cu nume RATELIMIT.* adaugă o alegere de algoritm și statistici și fac parte din planurile Performance și Scale.
Nimic. Un apel GCRA refuzat lasă limitatorul neschimbat, deci un client care reîncearcă nu este penalizat suplimentar.
HotKV vorbește protocolul Redis, așa că puteți îndrepta spre el un client existent și rula aceleași comenzi.