In diesem Leitfaden wird beschrieben, wie Clients, z. B. Webseiten oder mobile Apps, Updates von Geräten in Echtzeit empfangen können. Cloud-Apps übermitteln keine HTTP-Anforderungen mehr für aktuelle Informationen. Stattdessen pusht Azure SignalR Service Inhalte an Clients, sobald sie verfügbar sind. Als verwalteter Dienst vereinfacht Azure SignalR Service das Hinzufügen von Echtzeitkommunikation zu Apps.
Aufbau
Laden Sie eine Visio-Datei dieser Architektur herunter.
Workflow
Webseiten, mobile Apps und andere Clients fordern einen Azure SignalR Service-Endpunkt und ein Token von der serverlosen Computerplattform Azure Functions an. Neben der Integration von Daten aus verschiedenen Quellen verwaltet Functions auch Azure SignalR Service-Endpunkte und Informationen zu Clientgruppen.
Clients verwenden den Endpunkt und das Token, um eine Verbindung zu Azure SignalR Service herzustellen.
IoT-Geräte senden Telemetriedaten an Azure IoT Edge und Azure IoT Hub. IoT Edge sendet verarbeitete Telemetriedaten von IoT-Geräten an IoT Hub.
Die Telemetrie löst eine Funktion in Azure Functions aus. Die Funktion erledigt die folgenden Aufgaben:
- Ausführen aller Berechnungen, die Sie für die Telemetriedaten programmieren.
- Transformieren der Daten in einer von Ihnen beliebig programmierten Weise.
- Übertragen der Daten über den verwalteten Dienst Azure SignalR Service.
Azure SignalR Service unterstützt mehrere Techniken, die von Echtzeitanwendungen verwendet werden. Dazu gehört WebSocket, ein bevorzugtes Transportprotokoll. Wenn WebSocket nicht verfügbar ist, verwendet Azure SignalR Service jedoch Techniken wie vom Server gesendete Ereignisse (Server-Sent Events, SSE) und Long Polling. Azure SignalR Service erkennt und initialisiert das richtige Transportprotokoll anhand der Features, die vom Server und Client unterstützt werden.
Die Azure SignalR Service Nachricht wird an einen bestimmten Client oder eine bestimmte Gruppe von Clients gesendet. Die Clients verwenden die Daten zum Aktualisieren von Apps.
Szenariodetails
Internet der Dinge (IoT)-Anwendungen benötigen häufig Echtzeitdaten von IoT-Geräten. Einige Anwendungen zeigen beispielsweise Telemetrie- oder Warnungsdaten an, welche sie von Geräten erhalten. Bei herkömmlichen Abrufmethoden werden die Geräte von diesen Client-Apps nach Zustandsänderungen gefragt.
In diesem Leitfaden wird beschrieben, wie Clients, z. B. Webseiten oder mobile Apps, Updates von Geräten in Echtzeit empfangen können. Cloud-Apps übermitteln keine HTTP-Anforderungen mehr für aktuelle Informationen. Stattdessen pusht Azure SignalR Service Inhalte an Clients, sobald sie verfügbar sind. Als verwalteter Dienst vereinfacht Azure SignalR Service das Hinzufügen von Echtzeitkommunikation zu Apps.
Ein Einzelhändler kann beispielsweise eine Dashboard-App nutzen, die die aktuelle Anzahl von Kunden in einem Geschäft anzeigt. Mit der Lösung in diesem Leitfaden fordert die App die neueste Kundenanzahl nicht an. Stattdessen werden diese Informationen von Azure SignalR Service an die App übermittelt, wenn sich der Gesamtwert ändert.
Mögliche Anwendungsfälle
Neben dem Einzelhandel können auch andere Bereiche von dieser Lösung profitieren:
- Alle Szenarien, bei denen Server Echtzeitdaten zur Verwendung in Visualisierungen und Anwendungen an Clients übertragen.
- Umfangreiche und hochgradig interaktive Apps wie benutzerdefinierte Benutzeroberflächen und Karten.
Konkrete Beispiele für die Bereitstellung von Echtzeitdatenupdates sind:
- Flottenüberwachung mit Zuordnung der Fahrzeugposition (Automobilindustrie).
- Remoteüberwachung von Temperatur, Druck und Status für einen Herstellungsprozess (auch für die Energieindustrie anwendbar).
- Bohrsteuerungssysteme, die Telemetriedaten wie die Drehzahl, das Drehmoment und die Hakenlast zur Prozessoptimierung nutzen.
- Warnungsmechanismen.
Überlegungen
Beachten Sie bei Verwendung dieses Musters folgende Punkte:
Wenn Ihr System strenge Latenzanforderungen hat, berücksichtigen Sie Faktoren, die die Latenz erheblich erhöhen können:
- In Echtzeitszenarien kann die Signalisierung von Cloudanwendungen die Latenz um bis zu 10 Sekunden erhöhen.
- Alle Datentransformationsschritte, die Sie der Lösung hinzufügen, können die Latenz erhöhen.
Azure SignalR Service definiert sieben Ebenen, die eine Reihe von Leistungskapazitäten unterstützen. Bestimmen Sie die eingehende und ausgehende Kapazität des Szenarios unter Kenntnis der Faktoren, die diese Werte beeinflussen. Wählen Sie dann die Ebene aus, die den Anforderungen am besten entspricht. Weitere Informationen finden Sie im Leitfaden zur Leistung für Azure SignalR Service.
Azure SignalR baut auf dem SignalR-Protokoll auf und folgt dem Veröffentlichungsabonnentmuster beim Senden von Nachrichten an die Clients. Ziehen Sie einen eigenen Mechanismus zur Nachrichtenbestätigung (ACK) in Betracht, wenn Sie die Nachrichtenübermittlung bei der Veröffentlichung von Nachrichten an mehrere Clients gewährleisten müssen.
Wenn Sie Echtzeitdaten in Power BI-Visuals anzeigen, sollten Sie Echtzeitstreaming in Power BI als Alternative zu dieser Lösung in Betracht ziehen.
Nächste Schritte
- Azure SignalR Service
- Tutorial: Azure SignalR Service-Authentifizierung mit Azure Functions
- Erstellen von Echtzeit-Apps mit Azure Functions und Azure SignalR
- Verwenden von Power BI zum Visualisieren von Sensordaten in Azure IoT Hub in Echtzeit
- Lösungsmuster in Azure Stream Analytics
Zugehörige Ressourcen
Informationen zu verwandten Lösungen finden Sie hier: