Freigeben über


IoT Hub und Zuverlässigkeit

Azure IoT Hub ist ein verwalteter Dienst, der in der Cloud gehostet wird und als zentraler Nachrichtenhub für die Kommunikation zwischen einer IoT-Anwendung und den angeschlossenen Geräten fungiert. Sie können Millionen von Geräten und deren Back-End-Lösungen zuverlässig und sicher verbinden. Fast jedes Gerät kann mit einem IoT Hub verbunden werden.

IoT Hub unterstützt die Überwachung, um die Geräteerstellung, die Geräteverbindungen und die Gerätefehler nachzuverfolgen.

IoT Hub unterstützt auch die folgenden Messagingmuster:

  • Geräte-zu-Cloud-Telemetrie
  • Hochladen von Dateien von Geräten
  • Anforderung-Antwort-Methoden zum Steuern Ihrer Geräte über die Cloud

Weitere Informationen zu IoT Hub finden Sie unter IoT-Konzepte und Azure IoT Hub.

In den folgenden Themen erfahren Sie, wie IoT Hub eine zuverlässige Workload unterstützt:

Die folgenden Abschnitte sind spezifisch für Azure IoT Hub und Zuverlässigkeit:

  • Entwurfsüberlegungen
  • Konfigurationsprüfliste
  • Empfohlene Konfigurationsoptionen

Entwurfsüberlegungen

Weitere Informationen zur Vereinbarung zum Servicelevel (Service Level Agreement, SLA) für Azure IoT Hub finden Sie unter SLA für Azure IoT Hub.

Prüfliste

Haben Sie Azure IoT Hub unter Berücksichtigung der Zuverlässigkeit konfiguriert?

  • Stellen Sie einen zweiten IoT-Hub in einer anderen Region bereit und richten Sie Routing-Logik auf dem Gerät ein.
  • Verwenden Sie das AMQP- oder MQTT-Protokoll, wenn Ereignisse häufig gesendet werden.
  • Verwenden Sie nur Zertifikate, die von einer Stammzertifizierungsstelle in der Produktionsumgebung überprüft wurden, wenn Sie X.509-Zertifikate für die Geräteverbindung verwenden.
  • Verwenden Sie für den maximalen Durchsatz die maximale Anzahl von Partitionen (32) beim Erstellen des IoT Hub, wenn Sie planen, den integrierten Endpunkt zu verwenden.
  • Erhöhen Sie für die Skalierung die Stufe und die zugewiesenen IoT Hub-Einheiten, anstatt mehr als einen IoT Hub pro Region hinzuzufügen.
  • Verwenden Sie in Szenarien mit hohem Datenaufkommen gebündelte Ereignisse.
  • Wenn Sie die minimale mögliche Latenz benötigen, verwenden Sie kein Routing, und lesen Sie die Ereignisse vom integrierten Endpunkt.
  • Im Rahmen Ihrer lösungsweiten Verfügbarkeits- und Notfallwiederherstellungsstrategie sollten Sie die IoT Hub-regionsübergreifende Notfallwiederherstellungsoptionverwenden.
  • Wenn Sie ein SDK zum Senden von Ereignissen an IoT Hub-Instanzen verwenden, stellen Sie sicher, dass die von der Wiederholungsrichtlinie ausgelösten Ausnahmen (EventHubsException oder OperationCancelledException) ordnungsgemäß erfasst werden.
  • Um Telemetrieunterbrechungen aufgrund von Drosselung und einem vollständig genutzten Kontingent zu vermeiden, sollten Sie eine benutzerdefinierte Lösung für die automatische Skalierung hinzufügen.

Konfigurationsempfehlungen

Beachten Sie die folgenden Empfehlungen zur Optimierung der Zuverlässigkeit beim Konfigurieren von Azure IoT Hub:

Empfehlung Beschreibung
Stellen Sie einen zweiten IoT Hub in einer anderen Region bereit und setzen Sie Routinglogik auf dem Gerät ein. Diese Konfigurationen können mit einem Concierge-Dienst weiter optimiert werden.
Verwenden Sie das AMQP- oder MQTT-Protokoll, wenn Ereignisse häufig gesendet werden. AMQP und MQTT verursachen bei der Initialisierung der Sitzung höhere Netzwerkkosten, HTTPS erfordert jedoch zusätzlichen TLS-Aufwand für jede Anfrage. AMQP und MQTT verfügen über eine höhere Leistung für häufige Herausgeber.
Verwenden Sie in der Produktionsumgebung nur Zertifikate, die von einer Root-CA validiert wurden, wenn Sie X.509-Zertifikate für die Geräteverbindung verwenden. Stellen Sie sicher, dass Prozesse implementiert wurden, um ein Zertifikat vor dem Ablauf zu aktualisieren.
Verwenden Sie für den maximalen Durchsatz die maximale Anzahl von Partitionen (32) beim Erstellen des IoT Hub, wenn Sie planen, den integrierten Endpunkt zu verwenden. Die Anzahl von Gerät-zu-Cloud-Partitionen für den Event Hub-kompatiblen Endpunkt spiegelt den Grad der Downstreamparallelität wider, den Sie erreichen können. Dies ermöglicht das Hochskalieren auf 32 gleichzeitige Verarbeitungsentitäten und bietet die höchste Verfügbarkeit für Senden und Empfangen. Diese Zahl kann nach der Erstellung nicht mehr geändert werden.
Erhöhen Sie für die Skalierung die Tarifstufe und die zugewiesenen IoT-Hub-Einheiten, anstatt mehr als einen IoT Hub pro Region hinzuzufügen. Das Hinzufügen von mehr als einem IoT Hub pro Region bietet keine zusätzliche Resilienz, da alle Hubs auf demselben zugrunde liegenden Cluster ausgeführt werden können.
In Szenarien mit hohem Durchsatz sollten Sie gebündelte Ereignisse verwenden. Der Dienst übermittelt ein Array mit mehreren Ereignissen an die Consumer, anstatt ein Array mit einem einzelnen Ereignis. Die verarbeitende Anwendung muss in der Lage sein, diese Arrays zu verarbeiten.
Wenn Sie die minimale mögliche Latenz benötigen, verwenden Sie kein Routing und lesen Sie die Ereignisse vom integrierten Endpunkt. Bei Verwendung des Nachrichtenroutings im IoT Hub erhöht sich die Latenz der Nachrichtenübermittlung. Im Durchschnitt sollte die Latenz 500 msnicht überschreiten, aber es gibt keine Garantie für die Übermittlungslatenz.
Im Rahmen Ihrer lösungsweiten Verfügbarkeits- und Notfallwiederherstellungsstrategie sollten Sie die IoT Hub-regionsübergreifende Notfallwiederherstellungsoptionverwenden. Mit dieser Option wird der IoT Hub-Endpunkt in die gekoppelte Azure-Region verschoben. Nur die Geräteregistrierung wird repliziert. Ereignisse werden nicht in die sekundäre Region repliziert. Die RTO für das vom Kunden initiierte Failover liegt zwischen zehn Minuten und einigen Stunden. Bei einem von Microsoft initiierten Failover beträgt die RTO 2-26 Stunden. Vergewissern Sie sich, dass diese RTO den Anforderungen des Kunden entspricht und zur allgemeinen Verfügbarkeitsstrategie passt. Wenn eine höhere RTO erforderlich ist, sollten Sie ein clientseitiges Failovermuster implementieren.
Wenn Sie ein SDK zum Senden von Ereignissen an IoT Hub verwenden, stellen Sie sicher, dass die von der Wiederholungsrichtlinie ausgelösten Ausnahmen (EventHubsException oder OperationCancelledException) ordnungsgemäß erfasst werden. Implementieren Sie bei Verwendung von HTTPS ein ordnungsgemäßes Wiederholungsmuster.

Nächster Schritt