Konfigurace rozhraní API pro události odeslané serverem
PLATÍ PRO: Vývojář | Základní | Basic v2 | Standardní | Standard v2 | Premium | Premium v2
Tento článek obsahuje pokyny pro konfiguraci rozhraní API ve službě API Management, která implementuje události odesílané serverem (SSE). Služba SSE je založená na standardu HTML5 EventSource
pro streamování (odesílání) dat automaticky klientovi přes PROTOKOL HTTP po navázání připojení.
Tip
API Management také poskytuje nativní podporu pro rozhraní API Protokolu WebSocket, která udržuje jedno trvalé připojení otevřené mezi klientem a serverem.
Požadavky
- Existující instance služby API Management. Vytvořte ho, pokud jste to ještě neudělali.
- Rozhraní API, které implementuje SSE. Naimportujte a publikujte rozhraní API do instance služby API Management pomocí jedné z podporovaných metod importu.
Pokyny pro SSE
Při použití služby API Management postupujte podle těchto pokynů k dosažení back-endového rozhraní API, které implementuje SSE.
Zvolte úroveň služby pro dlouhotrvající připojení HTTP – SSE spoléhá na dlouhotrvající připojení HTTP, které je podporováno v určitých cenových úrovních služby API Management. Dlouhotrvající připojení se podporují na úrovních Classic a API Management verze 2, ale ne ve vrstvě Consumption.
Udržování nečinných připojení naživu – pokud by připojení mezi klientem a back-endem mohlo být nečinné po dobu 4 minut nebo déle, implementujte mechanismus pro zachování aktivního připojení. Můžete například povolit signál tcp keepalive na back-endu připojení nebo odesílat provoz ze strany klienta alespoň jednou za 4 minuty.
Tato konfigurace je nutná k přepsání časového limitu nečinné relace 4 minuty vynucované nástrojem Azure Load Balancer, který se používá v infrastruktuře služby API Management.
Události přenosu okamžitě klientům – Vypněte ukládání odpovědí do
forward-request
vyrovnávací paměti zásad , aby se události okamžitě předávaly klientům. Příklad:<forward-request timeout="120" fail-on-error-status-code="true" buffer-response="false"/>
Vyhněte se dalším zásadám, které odpovědi na vyrovnávací paměť – Některé zásady, jako
validate-content
jsou například také obsah odpovědi na vyrovnávací paměť, a neměly by se používat s rozhraními API, která implementují SSE.Vyhněte se protokolování požadavků a odpovědí pro Azure Monitor, Application Insights a Event Hubs – Protokolování požadavků rozhraní API pro Azure Monitor nebo Application Insights můžete nakonfigurovat pomocí nastavení diagnostiky. Nastavení diagnostiky umožňuje protokolovat tělo požadavku nebo odpovědi v různých fázích provádění požadavku. U rozhraní API, která implementují SSE, to může způsobit neočekávané ukládání do vyrovnávací paměti, což může vést k problémům. Nastavení diagnostiky pro Azure Monitor a Application Insights nakonfigurované v oboru globálních/všech rozhraní API platí pro všechna rozhraní API ve službě. Nastavení jednotlivých rozhraní API můžete podle potřeby přepsat. Při protokolování do služby Event Hubs nakonfigurujete rozsah a množství kontextových informací pro protokolování požadavků a odpovědí pomocí log-to-eventhubs. V případě rozhraní API, která implementují protokol SSE, se ujistěte, že jste zakázali protokolování textu žádosti a odpovědi pro Azure Monitor, Application Insights a Event Hubs.
Zakažte ukládání odpovědí do mezipaměti – Pokud chcete zajistit, aby byla oznámení pro klienta včasná, ověřte, že ukládání odpovědí do mezipaměti není povolené. Další informace najdete v tématu Zásady ukládání do mezipaměti služby API Management.
Testovací rozhraní API pod zatížením – Před přechodem do produkčního prostředí otestujte vaše rozhraní API při zátěži a zjistěte problémy s výkonem nebo konfigurací.
Další kroky
- Přečtěte si další informace o konfiguraci zásad ve službě API Management.
- Přečtěte si informace o kapacitě služby API Management.