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
- 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 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
- Läs mer om att konfigurera principer i API Management.
- Läs mer om API Management-kapacitet.