Konfigurera API för server-skickade händelser

GÄLLER FÖR: Utvecklare | Grundläggande | Basic v2 | Standard | Standard v2 | Premium

Den här artikeln innehåller riktlinjer för att konfigurera ett API i API Management som implementerar serversända händelser (SSE). Handelshögskolan baseras på HTML5-standarden EventSource för direktuppspelning (push-överföring) automatiskt till en klient via HTTP när en klient har upprättat en anslutning.

Dricks

API Management ger också internt stöd för WebSocket-API:er, som håller en enda, beständig, bidrectional anslutning öppen mellan en klient och server.

Förutsättningar

Riktlinjer för Handelshögskolan

Följ dessa riktlinjer när du använder API Management för att nå ett serverdels-API som implementerar SSE.

  • Välj tjänstnivå för långvariga HTTP-anslutningar – SSE förlitar sig på en långvarig HTTP-anslutning som stöds på vissa API Management-prisnivåer. Långvariga anslutningar stöds på de klassiska API Management-nivåerna och v2 API Management-nivåerna, men inte på förbrukningsnivån.

  • Håll inaktiva anslutningar vid liv – Om en anslutning mellan klienten och serverdelen kan vara inaktiv i 4 minuter eller längre implementerar du en mekanism för att hålla anslutningen vid liv. Aktivera till exempel en TCP keepalive-signal på anslutningens serverdel eller skicka trafik från klientsidan minst en gång per 4 minuter.

    Den här konfigurationen krävs för att åsidosätta tidsgränsen för den inaktiva sessionen på 4 minuter som tillämpas av Azure Load Balancer, som används i API Management-infrastrukturen.

  • Vidarebefordra händelser omedelbart till klienter – Inaktivera svarsbuffertning på forward-request principen så att händelser omedelbart vidarebefordras till klienterna. Till exempel:

    <forward-request timeout="120" fail-on-error-status-code="true" buffer-response="false"/>
    
  • Undvik andra principer som buffrar svar – Vissa principer som validate-content kan även buffra svarsinnehåll och bör inte användas med API:er som implementerar SSE.

  • Undvik att logga begäran/svarstext för Azure Monitor, Application Insights och Event Hubs – Du kan konfigurera API-begärandeloggning för Azure Monitor eller Application Insights med hjälp av diagnostikinställningar. Med diagnostikinställningarna kan du logga begäran/svarstexten i olika skeden av körningen av begäran. För API:er som implementerar SSE kan detta orsaka oväntad buffring som kan leda till problem. Diagnostikinställningar för Azure Monitor och Application Insights som konfigurerats i omfånget global/alla API:er gäller för alla API:er i tjänsten. Du kan åsidosätta inställningarna för enskilda API:er efter behov. När du loggar till Event Hubs konfigurerar du omfånget och mängden kontextinformation för loggning av begäran/svar med hjälp av logg-till-eventhubs. För API:er som implementerar SSE kontrollerar du att du har inaktiverat loggning av begäran/svarstext för Azure Monitor, Application Insights och Event Hubs.

  • Inaktivera cachelagring av svar – Kontrollera att meddelanden till klienten kommer i rätt tid genom att kontrollera att svarscachelagring inte är aktiverat. Mer information finns i CACHElagringsprinciper för API Management.

  • Test-API under belastning – Följ allmänna metoder för att testa ditt API under belastning för att identifiera prestanda- eller konfigurationsproblem innan du går in i produktion.

Nästa steg