Den här guiden beskriver ett sätt för klienter som webbsidor eller mobilappar att ta emot uppdateringar från enheter i realtid. Molnappar skickar inte längre HTTP-begäranden för uppdaterad information. I stället skickar Azure SignalR Service innehåll till klienter så snart det är tillgängligt. Som en hanterad tjänst förenklar Azure SignalR Service processen med att lägga till realtidskommunikation till appar.
Arkitektur
Ladda ned en Visio-fil med den här arkitekturen.
Arbetsflöde
Webbsidor, mobilappar och andra klienter begär en Azure SignalR Service-slutpunkt och token från Azure Functions, en serverlös beräkningsplattform. Förutom att integrera data från olika källor hanterar Functions även Azure SignalR Service-slutpunkter och information om klientgrupper.
Klienter använder slutpunkten och token för att ansluta till Azure SignalR Service.
IoT-enheter skickar telemetri till Azure IoT Edge och Azure IoT Hub. IoT Edge skickar bearbetade IoT-enhetstelemetri till IoT Hub.
Telemetrin utlöser en funktion i Azure Functions. Funktionen slutför följande uppgifter:
- Kör alla beräkningar som du programmerar på telemetrin.
- Transformerar data på alla sätt som du programmerar.
- Använder den hanterade tjänsten Azure SignalR Service för att sända data.
Azure SignalR Service stöder flera tekniker som realtidsprogram använder, till exempel WebSocket, ett föredraget transportprotokoll. Men Azure SignalR Service använder tekniker som serverutskickade händelser (SSE) och lång avsökning när WebSocket inte är tillgängligt. Azure SignalR Service identifierar och initierar automatiskt lämpligt transportprotokoll baserat på de funktioner som servern och klienten stöder.
Azure SignalR Service-meddelandet skickas till en specifik klient eller grupp med klienter. Klienterna använder data för att uppdatera appar.
Information om scenario
IoT-program (Internet of Things) behöver ofta realtidsdata från IoT-enheter. Till exempel visar vissa appar telemetri- eller aviseringsdata som de hämtar från enheter. Med traditionella avsökningsmetoder ber dessa klientappar enheterna om tillståndsändringar.
Den här guiden beskriver ett sätt för klienter som webbsidor eller mobilappar att ta emot uppdateringar från enheter i realtid. Molnappar skickar inte längre HTTP-begäranden för uppdaterad information. I stället skickar Azure SignalR Service innehåll till klienter så snart det är tillgängligt. Som en hanterad tjänst förenklar Azure SignalR Service processen med att lägga till realtidskommunikation till appar.
En återförsäljare kan till exempel ha en instrumentpanelsapp som visar det aktuella antalet kunder i en butik. Med den här guidens lösning begär inte appen det senaste antalet kunder. I stället skickar Azure SignalR Service den informationen till appen när summan ändras.
Potentiella användningsfall
Förutom detaljhandeln kan andra områden också dra nytta av den här lösningen:
- Alla scenarion där servrar skickar realtidsdata till klienter för användning i visualiseringar och program.
- Omfattande och mycket interaktiva appar som anpassade användargränssnitt och kartor.
Exempel som ger datauppdateringar i realtid är:
- Övervakning av fordonsflottan som mappar fordonets plats (fordon).
- Fjärrövervakning av temperatur, tryck och status för en tillverkningsprocess (gäller även för energiindustrin).
- Borrkontrollsystem som använder telemetri, till exempel rotationer per minut, vridmoment och krokbelastning för att optimera processer.
- Aviseringsmekanismer.
Att tänka på
Tänk på följande när du använder det här mönstret:
Om systemet har strikta svarstidskrav bör du vara medveten om faktorer som kan öka svarstiden avsevärt:
- I realtidsscenarier kan signalering av molnprogram öka svarstiden med upp till 10 sekunder.
- Alla datatransformeringssteg som du lägger till i lösningen kan öka svarstiden.
Azure SignalR Service definierar sju nivåer som rymmer en mängd olika prestandakapaciteter. Fastställa scenariots inkommande och utgående kapacitet genom att förstå de faktorer som påverkar dessa värden. Välj sedan den nivå som bäst uppfyller dina krav. Mer information finns i Prestandaguide för Azure SignalR Service.
Azure SignalR bygger vidare på SignalR-protokollet och följer mönstret publicera-prenumerera när meddelanden skickas till klienterna. Överväg att ha en egen mekanism för att bekräfta meddelanden (ACK) när du behöver garantera meddelandeleverans när du publicerar meddelanden till flera klienter.
När du visar realtidsdata i visuella Power BI-objekt bör du överväga realtidsströmning i Power BI som ett alternativ till den här lösningen.
Nästa steg
- Azure SignalR Service
- Självstudie: Azure SignalR Service-autentisering med Azure Functions
- Skapa realtidsappar med Azure Functions och Azure SignalR Service
- Visualisera sensordata i realtid från Azure IoT Hub med Power BI
- Azure Stream Analytics-lösningsmönster
Relaterade resurser
Mer information om relaterade lösningar finns i den här informationen: