Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
GÄLLER FÖR: Utvecklare | Grundläggande | Basic v2 | Standard | Standard v2 | Premium | Premium v2
Den här artikeln innehåller riktlinjer för att konfigurera ett API i API Management som implementerar serversända händelser (SSE). SSE baseras på HTML5-standarden EventSource för automatisk dataströmning (push-teknik) till en klient via HTTP efter att en klientanslutning har upprättats.
Tips
API Management ger också inbyggt stöd för WebSocket-API:er, som håller en enda, beständig, dubbelriktad anslutning öppen mellan en klient och server.
Förutsättningar
- En befintlig API Management-instans. Skapa en om du inte redan har gjort det.
- Ett API som implementerar SSE. Importera och publicera API:et till din API Management-instans med någon av de importmetoder som stöds.
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 en 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. Du kan till exempel aktivera en TCP-keepalive-signal (Transmission Control Protocol) 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 Azure Load Balancer tillämpar, vilket används i API Management-infrastrukturen.
Vidarebefordra händelser omedelbart till klienter – Inaktivera svarsbuffertning på
forward-requestprincipen 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-contentkan ä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 loggning av begäran/svarstext orsaka oväntad buffring, vilket 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 inaktiverar loggning av begärande-/svarstexter för Azure Monitor, Application Insights och Event Hubs.
Inaktivera svarscachelagring – För att säkerställa att meddelandena till klienten är tidsenliga, verifiera att svarscachelagring inte är aktiverad. Mer information finns i cachelagringsprinciper för API-hantering.
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.
Relaterat innehåll
- Läs mer om att konfigurera principer i API Management.
- Läs mer om API Management-kapacitet.