Freigeben über


Skalierbarkeit, Hochverfügbarkeit und Notfallwiederherstellung in IoT-Lösungen

In dieser Übersicht werden die wichtigsten Konzepte für die Optionen für Skalierbarkeit, Hochverfügbarkeit und Notfallwiederherstellung in einer Azure IoT-Lösung präsentiert. Jeder Abschnitt enthält Links zu Inhalten, die weitere Details und Anleitungen enthalten.

Das folgende Diagramm zeigt eine allgemeine Ansicht der Komponenten in einer typischen edgebasierten IoT-Lösung. Dieser Artikel konzentriert sich auf die Bereiche, die für Skalierbarkeit, hohe Verfügbarkeit und Notfallwiederherstellung in einer edgebasierten IoT-Lösung relevant sind:

Diagramm, das die übergeordnete IoT-Edge-basierte Lösungsarchitektur zeigt und Skalierbarkeit, hohe Verfügbarkeit sowie Desaster-Wiederherstellung hervorhebt.

Skalierbarkeit

Eine IoT-Lösung muss möglicherweise Millionen von verbundenen Ressourcen und Geräten unterstützen. Sie müssen sicherstellen, dass die Komponenten in Ihrer Lösung skaliert werden können, um den Anforderungen gerecht zu werden.

Stellen Sie Azure IoT Operations auf einem Cluster mit mehreren Knoten bereit, um sicherzustellen, dass Sie erhöhte Datenverkehrs- oder Workloadanforderungen bewältigen können. Wenn Azure IoT Operations auf einem Multi-Node-Cluster ausgeführt wird, kann es mehr Daten verarbeiten und die Skalierbarkeits- und Hochverfügbarkeitsfunktionen von Kubernetes nutzen.

Sie können den MQTT-Broker von Azure IoT Operations horizontal skalieren, indem Sie weitere Frontend-Replikate und Back-End-Partitionen hinzufügen. Die Front-End-Replikate sind für die Annahme von MQTT-Verbindungen von Clients und deren Weiterleitung an die Back-End-Partitionen zuständig. Die Back-End-Partitionen sind für das Speichern und Übermitteln von Nachrichten an die Clients verantwortlich. Die Front-End-Pods verteilen den Nachrichtendatenverkehr auf die Back-End-Pods. Der Back-End-Redundanzfaktor bestimmt die Anzahl der Datenkopien, um Resilienz gegenüber Knotenfehlern im Cluster zu ermöglichen. Weitere Informationen finden Sie unter Konfigurieren von Brokereinstellungen für hohe Verfügbarkeit, Skalierung und Speicherauslastung.

Azure Device Registry ist ein Back-End-Dienst, der die Cloud- und Edgeverwaltung von Ressourcen ermöglicht. Die Geräteregistrierung projiziert Ressourcen, die in Ihrer Edgeumgebung als Azure-Ressourcen definiert sind, in die Cloud. Sie stellt eine einzige einheitliche Registrierung bereit, damit alle Apps und Dienste, die mit Ihren Ressourcen interagieren, eine Verbindung mit einer einzelnen Quelle herstellen können. Die Geräteregistrierung verwaltet außerdem die Synchronisierung zwischen Objekten in der Cloud und Ressourcen als benutzerdefinierte Ressourcen in Kubernetes am Edge, sodass Sie Ihre Lösung auf Millionen verbundener Ressourcen skalieren können.

Sie können das Datenflussprofil skalieren, um die Anzahl der Instanzen anzupassen, die die Datenflüsse ausführen. Das Erhöhen der Anzahl der Instanzen kann den Durchsatz der Datenflüsse verbessern, indem mehrere Clients zum Verarbeiten der Daten erstellt werden. Wenn Sie Datenflüsse mit Clouddiensten verwenden, die Ratengrenzwerte pro Client aufweisen, kann das Erhöhen der Anzahl der Instanzen Ihnen helfen, innerhalb dieser Grenzen zu bleiben. Das Skalieren kann auch die Resilienz der Datenflüsse erhöhen, indem Redundanz im Falle von Fehlern bereitgestellt wird. Weitere Informationen finden Sie unter Skalieren von Datenflussprofilen.

Hochverfügbarkeit und Notfallwiederherstellung

IoT-Lösungen sind häufig unternehmenskritisch. Sie müssen sicherstellen, dass Ihre Lösung bei einem Fehler weiterhin ausgeführt werden kann. Außerdem müssen Sie sicherstellen, dass Sie Ihre Lösung nach einem Notfall wiederherstellen können.

Azure IoT Einsatz verfügt über einen MQTT-Broker, der für Unternehmen geeignet und standardkonform ist. Der MQTT-Broker ist skalierbar, hochverfügbar und Kubernetes-nativ. Er stellt die Messagingebene für IoT Einsatz bereit, ermöglicht bidirektionale Edge-/Cloudkommunikation und unterstützt ereignisgesteuerte Anwendungen am Edge. Um null Datenverlust und hohe Verfügbarkeit während Bereitstellungsupgrades sicherzustellen, implementiert der MQTT-Broker rollierende Updates über die MQTT-Broker-Pods hinweg.

Der Statusspeicher ist ein verteiltes Speichersystem, das als Teil von Azure IoT Einsatz bereitgestellt wird. Mithilfe des Statusspeichers können Anwendungen Schlüsselwertpaare abrufen, festlegen und löschen, ohne weitere Dienste wie Redis installieren zu müssen. Der Zustandsspeicher stellt auch die Versionsverwaltung der Daten sowie die Grundtypen zum Erstellen verteilter Sperren bereit, ideal für hochverfügbare Anwendungen. Weitere Informationen finden Sie unter Persistierung von Daten im Statusspeicher.

Bei Clustern mit mehreren Knoten mit mindestens drei Knoten haben Sie die Möglichkeit, die Fehlertoleranz für den Speicher mit Azure Container Storage zu aktivieren, der von Azure Arc aktiviert ist, wenn Sie Azure IoT Operations bereitstellen.

Dapr wird als Teil des MQTT-Brokers angeboten und abstrahiert Details der MQTT-Sitzungsverwaltung, von Nachrichten-QoS und -Bestätigung sowie des integrierten Schlüssel-Wert-Speichers, wodurch es eine praktische Wahl für die Entwicklung einer hochverfügbaren Anwendung darstellt.

Die Azure IoT Operations SDKs (Vorschau) sind eine Reihe von Tools und Bibliotheken in mehreren Sprachen, die die Entwicklung hoch verfügbarer Anwendungen für Azure IoT Operations unterstützen sollen.

Informationen zur hohen Verfügbarkeit in allen Verfügbarkeitszonen und Regionen für die Azure-Geräteregistrierung finden Sie unter Zuverlässigkeit in der Azure-Geräteregistrierung.