Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Omezování rychlosti je běžná technika, kterou poskytovatelé rozhraní API používají ke správě počtu požadavků, které je možné do služby provést v určitém časovém období. Poskytovatelé rozhraní API používají omezení rychlosti, aby jejich služba zůstala dostupná a reagovala na všechny uživatele a aby zabránili zneužití nebo nadměrnému využití služby.
Pokud ve své aplikaci používáte cloudová rozhraní API, měli byste porozumět jejich limitům rychlosti. Následující techniky vám můžou pomoct zvládnout omezování rychlosti ve vašich aplikacích:
- Seznamte se s limity rychlosti. Projděte si dokumentaci k rozhraní API, které používáte, abyste porozuměli limitům jeho rychlosti. Omezení rychlosti můžou záviset na poskytovateli rozhraní API nebo plánu služby, který používáte. Některá rozhraní API můžou mít například různá omezení sazeb pro bezplatné a placené plány.
- Použijte informace o omezování rychlosti. Rozhraní API, která používají omezení rychlosti, obvykle komunikují aktuální limity rychlosti v hlavičce odpovědi. Hlavička
RateLimit-Remainingnapříklad označuje počet požadavků, které zůstávají v aktuálním okně. Pokud obdržíte odpověď s touto hlavičkou nastavenou na 0, víte, že jste dosáhli limitu rychlosti a měli byste počkat na další okno před odesláním dalšího požadavku. HlavičkaRateLimit-Resetoznačuje čas resetování limitu rychlosti. Některá rozhraní API odesílajíRateLimit-...hlavičky až po dosažení prahové hodnoty. Příkladem je, když máte zbývajících 10% požadavků. - Optimalizace využití rozhraní API Některé služby přiřazují různým požadavkům různé náklady na základě jejich složitosti. Některá rozhraní API můžou například účtovat další poplatky za žádosti, které vracejí více dat. Pokud chcete snížit náklady na aplikaci, optimalizujte využití rozhraní API načtením jenom potřebných dat. Pokud je rozhraní API podporuje, použijte dávkové požadavky. Pomáhají snížit počet prostředků potřebných ke zpracování odpovědi a zůstat v mezích limitů rychlosti.
- Implementujte místní omezovač rychlosti. Implementujte omezovač rychlosti v samotné aplikaci, abyste omezili počet požadavků, které je možné do rozhraní API provést v určitém časovém období. Můžete to udělat pomocí technik, jako jsou algoritmy tokenového kbelíku nebo algoritmy děravého kbelíku, které aplikaci umožňují provádět mnoho požadavků během určitého časového období. Všechny další požadavky se zařadí do fronty nebo zahodí.
- Vyhněte se překročení limitů rychlosti. Když překročíte rychlostní limity, rozhraní API omezuje výkon všech následujících požadavků, které obvykle vrací stavový kód HTTP
429 Too Many Requests. Škrcení obvykle ovlivňuje propustnost aplikace více než omezení rychlosti. Použijte informace uvedené v hlavičkách odpovědi na omezení rychlosti, abyste zůstali v mezích limitů rychlosti a vyhnuli se přiškrcení.
Pomocí těchto technik můžete vytvářet aplikace, které jsou odolné vůči omezování rychlosti a mohou i nadále fungovat i v případě, že je rozhraní API zatížené velkým zatížením.