Rate limiting
Také známo jako Throttling, Omezení požadavků
Stručně
Omezení počtu požadavků na uživatele nebo IP za minutu — nejlevnější ochrana před zneužitím a utrženým účtem za AI.
Rate limiting odpovídá na jednu otázku: vyčerpal tenhle volající svůj limit? Každá trasa má rozpočet — 60 požadavků za minutu na běžném API, 5 na přihlášení, 10 na AI endpoint — a požadavky nad ním dostanou 429 s hlavičkou Retry-After. Chrání databázi před skriptem a rozpočet před smyčkou.
Token bucket v jedné větě
Kbelík pojme N žetonů, doplňuje se pevným tempem a každý požadavek si jeden vezme; když je prázdný, požadavek se odmítne. Krátký náraz projde, trvalý příval ne — přesně tvar reálného provozu.
Klíčujte podle toho, co chráníte: IP u anonymního provozu, id uživatele u přihlášených, API klíč u partnerů. U přihlášených neklíčujte jen podle IP za firemním NATem, jinak jedna rušná kancelář vyčerpá limit pro všechny uvnitř.
Problém s účtem za AI
Endpoint, který volá LLM, stojí peníze při každém požadavku, a smyčka ve frontendu nebo zvědavý návštěvník s cURL může spálit měsíční rozpočet za odpoledne. AI trasy neomezujte jen počtem požadavků, ale tolkeny nebo útratou na uživatele a den — jeden dlouhý prompt může stát jako sto krátkých.
Účet chraňte třikrát: limiterem v aplikaci, tvrdým limitem útraty u poskytovatele nastaveným pod vaší komfortní hranicí a alarmem na 70 % rozpočtu. Právě třetí vás zachrání, když se první dva nakonfigurovaly špatně.
Kompromis
Rate limiting je nejviditelnější ochrana, jakou můžete nasadit. Dávkový export, který legitimně nahrává 5 000 řádků, narazí na limit a zákazník nahlásí, že „systém nefunguje“. Zveřejněte limity, vracejte 429 s jasnou zprávou a Retry-After a důvěryhodným integracím nebo adminům dejte vyšší rozpočet.
Kde počítadla žijí, mění jejich význam. V paměti počítají pro každou instanci a při nasazení se resetují; v Redisu napříč instancemi, ale každý požadavek stojí síťový obrat. U produktu na jedné instanci bohatě stačí paměť, klidně měsíce.
Zdroje
Související pojmy
Autentizace a autorizace
Autentizace dokazuje, kdo jste; autorizace rozhoduje, co smíte — a obě se musí kontrolovat na serveru.
Cachování
Uložení drahého výsledku, aby další požadavek stál skoro nic — silné a snadno nenápadně špatné.
Idempotence
Stejný požadavek odeslaný dvakrát musí mít stejný efekt jako jeden — jinak opakování strhne zákazníkovi peníze znovu.