ÚvodPlatformaCeníkOtázkyNápovědaKontakt Kivea FlexiKivea PohodaKivea účetnictvíKivea fakturace Vyzkoušet zdarma

Čo to je?

Poznámka správcu: Toto je systém “riadenia prenosu” pre dáta vášho e-shopu. Nastavuje limity na to, koľko požiadaviek je možné odoslať do systému naraz, aby sa zabezpečilo, že všetko bude fungovať hladko a rýchlo pre všetkých.

Pre koho je to určené? Administrátori by si to mali prečítať, aby pochopili zásady používania platformy. Môžete si nastaviť vlastné limity pre konkrétne nástroje alebo partnerov, aby ste zabránili tomu, aby jedna integrácia “zaberala” všetky zdroje. Vaši vývojári použijú technické podrobnosti tu uvedené, aby zabezpečili, že ich kód bude rešpektovať tieto limity a správne spracovával signály “zaneprázdnenosti”.

Kľúčové výhody pre e-shop:

  • Zaručená stabilita: Zabráňte spomaleniu alebo zlyhaniu vášho e-shopu, ak externý nástroj začne odosielať príliš veľa požiadaviek naraz.
  • Spravodlivé zdieľanie zdrojov: Zabezpečte, aby všetky vaše rôzne aplikácie a integrácie dostali spravodlivý podiel na “výkone” systému.
  • Inteligentná správa prenosu: Systém automaticky “spomalí” požiadavky, keď je systém vyťažený, namiesto toho, aby zlyhal, čím poskytuje plynulejší zážitok.
  • Kontrola nákladov a používania: Monitorujte a obmedzte, koľko vaše rôzne integrácie využívajú systém, aby bola vaša infraštruktúra efektívna.

Prehľad

Obmedzenie rýchlosti riadi, koľko API požiadaviek je možné vykonať v rámci konkrétneho časového okna. To pomáha chrániť vašu infraštruktúru pred zneužitím, zabezpečuje spravodlivé používanie medzi používateľmi a udržiava výkon systému.

**Kľúčové výhody**
- Zabráňte zneužívaniu API a nadmernému používaniu
- Zabezpečte spravodlivé prideľovanie zdrojov medzi používateľmi
- Udržujte výkon a stabilitu systému
- Elegantné spracovanie s automatickými opakovaniami

Hierarchia obmedzenia rýchlosti

Obmedzenia rýchlosti je možné konfigurovať na rôznych úrovniach, pričom prednosť majú špecifickejšie obmedzenia.

card: 1. Úroveň nájomníka
icon: user
**Predvolené: 360/m**
Základné obmedzenie rýchlosti platí pre všetky požiadavky v rámci nájomníka. Toto je najširšia úroveň kontroly.
card: 2. Úroveň organizácie
icon: building
**Predvolené: 120/m**
Obmedzenie rýchlosti platí pre požiadavky v rámci konkrétnej organizácie. Používatelia si to môžu nakonfigurovať tak, aby obmedzili spotrebu obmedzenia rýchlosti nájomníka ich organizáciou.
card: 3. Úroveň API kľúča
icon: key
**Vlastné**
Najšpecifickejšie obmedzenie rýchlosti platí pre jednotlivé API kľúče. To umožňuje jemnozrnnú kontrolu nad špecifickými integráciami alebo používateľmi.
**Dôležitá poznámka**
Obmedzenia rýchlosti API kľúča umožňujú používateľom samým obmedziť ich používanie, aby sa vyhli spotrebovaniu celej kvóty organizácie alebo nájomníka. Nastavenie nižšieho limitu pomáha predchádzať náhodnému nadmernému spotrebovaniu.

Formát obmedzenia rýchlosti

Obmedzenia rýchlosti sú špecifikované pomocou jednoduchého formátu: číslo/časová jednotka. Viacero obmedzení je možné kombinovať pomocou čiarky na súčasné vynútenie rôznych časových okien.

Syntax

Jednoduché obmedzenie:

{number}/{timeunit}

Viacero obmedzení (všetky vynútené):

{number}/{timeunit}, {number}/{timeunit}, ...
**Viacnásobné obmedzenia rýchlosti**
Ak je zadaných viacero obmedzení, VŠETKY obmedzenia sa vynucujú súčasne. Požiadavka bude obmedzená, ak bude prekročené AKÉKOĽVEK z obmedzení.

Príklad: `32/s, 120/m, 1000/h, 10000/d`

Toto vynucuje: max 32 za sekundu A max 120 za minútu A max 1000 za hodinu A max 10000 za deň

Časové jednotky

Jednotka Popis
s Sekundy
m Minúty
h Hodiny
d Dni

Príklady

Formát Popis
120/m 120 požiadaviek za minútu
1000/h 1000 požiadaviek za hodinu
50/s 50 požiadaviek za sekundu
5/s, 100/m 5/sek A 100/min
10/s, 500/h, 5000/d Vrstvené obmedzenie rýchlosti

Hlavičky obmedzenia rýchlosti

API vracia informácie o obmedzení rýchlosti prostredníctvom HTTP hlavičiek v každej odpovedi.

Hlavička Popis Príklad
X-RateLimit-Limit Celkový počet požiadaviek povolených v aktuálnom časovom okne 120
X-RateLimit-Remaining Počet požiadaviek zostávajúcich v aktuálnom časovom okne 75
X-RateLimit-Used Počet požiadaviek, ktoré už boli vykonané v aktuálnom časovom okne 45
X-RateLimit-Reset Unixová časová pečiatka, kedy sa aktuálne okno obmedzenia rýchlosti resetuje 1693829400
X-RateLimit-Policy Aktuálne platná politika obmedzenia rýchlosti 120/m
Retry-After Počet sekúnd, ktoré je potrebné počkať pred vykonaním ďalšej požiadavky (prítomné iba v odpovediach 429) 30

Spracovanie odpovede 429

Keď sú prekročené obmedzenia rýchlosti, API vráti stavový kód 429 s informáciami o opakovaní.

Príklad odpovede 429

HTTP/1.1 429 Too Many Requests
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 0
X-RateLimit-Used: 120
X-RateLimit-Reset: 1693829400
X-RateLimit-Policy: 120/m
Retry-After: 30

{
  "error": "Rate limit exceeded (120/m). Please try again in 30 seconds."
}

Automatické spomalenie servera

**Automatické spomalenie servera**
Pri približovaní sa k obmedzeniam rýchlosti server automaticky spravuje tok požiadaviek:
- Ak je čakacia doba obmedzenia rýchlosti kratšia ako 5 sekúnd, server oneskorí spracovanie požiadavky namiesto odmietnutia
- To poskytuje plynulejší zážitok pre vzory náhleho preťaženia
- Požiadavky sú úspešne spracované, ale s predĺženou dobou odozvy

Automatické spracovanie klientom

**Automatické spracovanie klientom**
Naše klientske knižnice automaticky spracovávajú odpovede 429:
- Automaticky opakujte požiadavky po zadanom oneskorení
- Rešpektujte hlavičku Retry-After pre optimálne načasovanie
- Implementujte exponenciálny backoff pre opakované zlyhania
- Zaznamenávajte pokusy o opakovanie na účely ladenia

Osvedčené postupy

Robte

  • Monitorujte hlavičky obmedzenia rýchlosti v odpovediach
  • Implementujte správnu logiku opakovania s exponenciálnym backoff
  • Nastavte konzervatívne limity API kľúčov pre externé integrácie
  • Ukladajte API odpovede do vyrovnávacej pamäte, keď je to možné, aby ste znížili objem požiadaviek
  • Používajte dávkové operácie na zníženie celkového počtu požiadaviek

Nerobte

  • Ignorujte odpovede 429 bez implementácie opakovaní
  • Vytvárajte nadmerné paralelné požiadavky
  • Nastavujte limity API kľúčov vyššie ako limity organizácie
  • Opakujte okamžite bez rešpektovania hlavičiek Retry-After
  • Predpokladajte, že obmedzenia rýchlosti sú rovnaké pre všetky koncové body