Konfigurace rozhraní API pro události odeslané serverem

PLATÍ PRO: Vývojář | Základní | Basic v2 | Standardní | Standard v2 | Premium

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

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 Přehledy a Event Hubs – Pomocí nastavení diagnostiky můžete nakonfigurovat protokolování požadavků rozhraní API pro Azure Monitor nebo aplikaci Přehledy. 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 aplikaci Přehledy 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, aplikační Přehledy a službu 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