Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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.