Přeskočit na obsah

Rate limit

Také známé jako: limit požadavků, omezení API, throttling

Rate limit je omezení počtu požadavků, které smí jedna integrace na rozhraní poslat za daný čas. Chrání server před přetížením a u e-shopových platforem bývá navázaný na tarif — takže víc integrací znamená dělit se o stejný rozpočet požadavků.

Kdy to řešit

Před stavbou integrace, ne až po chybové hlášce. Návrh, který načítá celý katalog při každém běhu, narazí na limit u prvního většího klienta — a přepisuje se pak celý.

Jak nenarazit

Čtyři věci v pořadí podle účinnosti:

Filtruj podle času poslední změny. Když se změnilo deset produktů, načítej deset produktů. Tohle samo o sobě obvykle vyřeší celý problém.

Používej webhooky místo pravidelného dotazování. Většina dotazů v pravidelném intervalu vrátí „nic se nezměnilo" a stejně se počítá do limitu.

Dávkuj. Rozhraní mají limit položek na požadavek. Načítání po jedné vyčerpá limit řádově dřív.

Čti chybové odpovědi. Když přijde odpověď o překročení limitu, opakování téhož požadavku ho jen prohloubí. Odpověď obvykle nese informaci, kdy je bezpečné to zkusit znovu.

Nejčastější chyby

  • Slepé opakování po chybě. Prodlužuje blokaci místo aby ji řešilo.
  • Sdílený přístup pro víc integrací. Jedna nešetrná integrace vyčerpá limit a ostatní přestanou fungovat.
  • Řešení navýšením limitu místo opravou logiky. Draží varianta téhož problému.
  • Testování na malém katalogu. Integrace, která funguje na stovce produktů, nemusí fungovat na deseti tisících.

Shoptet a Upgates

Upgates. Limity jsou navázané na tarif: Bronze 10/hod a 100/den, Silver 15/hod a 300/den, Gold 50/hod a 600/den, Platinum a Exclusive 100/hod a 1500/den. Navýšení jde balíčky po 1000 požadavcích denně, maximálně 60 balíčků (60 000/den), nastavuje se v Doplňky / API – Omezení a ceny. K tomu platí limit 100 položek na PUT/POST (jinak 413) a maximálně 3 souběžné požadavky na skupinu přístupu (jinak 429); víc souběžných jen na tarifu Exclusive. Odpovědi nesou hlavičky X-Rate-Limit-Hour, X-Rate-Limit-Day a zbývající kvóty, u chyby 429 navíc Retry-After. Pět špatných přihlášení za hodinu z jedné IP vede k chybě 403. Ověřené doplňky nejsou rate limitem omezené — to je často levnější cesta než navyšování limitu. (Ověř aktuální stav.)

Časté otázky

Co dělat při chybě 429?

Počkat dobu, kterou udává odpověď, a teprve pak opakovat. Okamžité opakování situaci zhoršuje.

Je lepší navýšit limit, nebo opravit integraci?

Skoro vždy opravit integraci. Filtrování podle času poslední změny a webhooky obvykle sníží počet požadavků o řád.

Proč mi integrace fungovala na testu a v provozu ne?

Protože test běžel na malém katalogu. Limity se projeví až při reálném objemu dat.

Související pojmy

Další pojmy ze skupiny Feedy & integrace

Ondřej RuhsamE-commerce trendy ze světa, připravené pro Shoptet a Upgates. Konkrétní nastavení, limity a postupy z reálných projektů.

Aktualizováno

Novinky do e-mailu

Po vydání nové případové studie vám přijde 
odkaz.

Odběrem souhlasíte se zpracováním osobních údajů.