Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Stream Analytics ist ein hochsicherer Dienst, der Streamingdaten aus mehreren Quellen gleichzeitig verarbeitet und analysiert. Stream Analytics bietet Ihnen die Informationen, mit denen Sie komplexe Ereignisverarbeitungspipelinen mit SQL-ähnlichen Abfragen erstellen können.
Wenn Sie Azure verwenden, ist Zuverlässigkeit eine gemeinsame Verantwortung. Microsoft bietet eine Reihe von Funktionen zur Unterstützung von Resilienz und Wiederherstellung. Sie sind dafür verantwortlich, zu verstehen, wie diese Funktionen in allen von Ihnen verwendeten Diensten funktionieren, und die Funktionen auswählen, die Sie benötigen, um Ihre Geschäftsziele und Uptime-Ziele zu erfüllen.
In diesem Artikel wird beschrieben, wie Stream Analytics widerstandsfähig gegenüber potenziellen Problemen wie vorübergehenden Fehlern und Ausfällen der Verfügbarkeitszone ist. Darüber hinaus bieten wir Anleitungen zum Schutz unternehmenskritischer Aufträge vor Regionsausfällen und Servicewartungen und heben einige wichtige Informationen zum Stream Analytics Service Level Agreement (SLA) hervor.
Von Bedeutung
Die Verbesserung der Resilienz von Stream Analytics allein kann nur begrenzte Auswirkungen haben, wenn die anderen Komponenten nicht gleich robust sind. Berücksichtigen Sie die Zuverlässigkeit Ihrer Datenquellen, einschließlich Eingaben und Ausgaben. Je nach Ihren Resilienzanforderungen müssen Sie möglicherweise Konfigurationsänderungen in mehreren Bereichen vornehmen.
Bereitstellungsempfehlungen für die Produktion
Um hohe Zuverlässigkeit in Produktionsumgebungen mit Stream Analytics sicherzustellen, empfehlen wir Folgendes:
- Verwenden von Regionen mit Verfügbarkeitszonen: Stellen Sie Ihre Streamingaufträge und andere Ressourcen in Regionen bereit, die Verfügbarkeitszonen unterstützen.
- Bereitstellen ausreichender Kapazität: Legen Sie Ihre Streamingeinheiten basierend auf dem erwarteten Durchsatz fest, mit zusätzlicher Kapazität für die Verarbeitung von Spitzenlasten und mit einem Puffer über den basisplanbezogenen Anforderungen im Falle plötzlicher Erhöhungen.
- Überwachen der Gesundheit: Implementieren Sie eine umfassende Überwachung mithilfe von Azure Monitor-Metriken und Diagnoseprotokollen, um den Zustand des Auftrags, Eingabe-/Ausgabeereignisse und die Ressourcenauslastung nachzuverfolgen. Konfigurieren Sie Warnungen für kritische Metriken wie Wasserzeichenverzögerung und Laufzeitfehler, um Probleme zu erkennen, bevor sie sich auf die Datenverarbeitung auswirken. Weitere Informationen finden Sie unter Überwachen von Azure Stream Analytics.
- Implementieren von Multiregionsredundanz für unternehmenskritische Workloads: Stellen Sie identische Stream Analytics-Aufträge in mehreren Regionen mit synchronisierten Konfigurationen und geeignetem Datenrouting bereit, um regionale Resilienz zu erzielen. Stream Analytics bietet zwar keine native Multi-Region-Replikation, aber dieser Ansatz ermöglicht Failover und Kontinuität. Weitere Informationen finden Sie unter benutzerdefinierte Lösungen mit mehreren Regionen zur Resilienz.
Übersicht über die Zuverlässigkeitsarchitektur
In diesem Abschnitt werden einige der wichtigen Aspekte der Funktionsweise des Diensts beschrieben, die aus Zuverlässigkeitsperspektive am relevantesten sind. Im Abschnitt wird die logische Architektur vorgestellt, die einige der Ressourcen und Features enthält, die Sie bereitstellen und verwenden. Außerdem wird die physische Architektur erläutert, die Details zur Funktionsweise des Diensts unter den Deckeln bereitstellt.
Logische Architektur
Ein Auftrag ist die grundlegende Einheit in Stream Analytics, mit der Sie Ihre Datenstromverarbeitungslogik definieren und ausführen können. Ein Auftrag besteht aus den folgenden Hauptkomponenten:
- Eingaben , die Streamingdaten aus Datenquellen lesen, z. B. Azure Event Hubs, Azure IoT Hub oder Azure Storage.
- Eine Abfrage , die die Daten verarbeitet und transformiert.
- Ergebnisse, die kontinuierlich an verschiedene Ziele wie Azure SQL-Datenbank, Azure Data Lake Storage, Azure Cosmos DB, Power BI und vieles mehr geschrieben werden.
Weitere Informationen zu Stream Analytics-Aufträgen und zum Ressourcenmodell finden Sie unter Azure Stream Analytics-Ressourcenmodell.
Physische Architektur
Stream Analytics erzielt hohe Zuverlässigkeit, indem mehrere Resilienzebenen angewendet werden, um Probleme in der zugrunde liegenden Infrastruktur und Eingabe- und Ausgabedatenquellen zu beheben. Die folgenden Komponenten tragen dazu bei, einen robusten Betrieb Ihrer Aufträge sicherzustellen:
Workerknoten. Stream Analytics-Aufträge werden auf virtuellen Maschinen (VMs) ausgeführt, die als Workerknoten innerhalb eines Clusters bezeichnet werden. Wenn Sie die Standard- oder StandardV2-SKUs verwenden, werden Ihre Aufträge auf freigegebenen Clustern ausgeführt. Wenn Sie die dedizierte SKU verwenden, werden Ihre Aufträge auf ihrem eigenen dedizierten Cluster ausgeführt.
Da die Plattform die Erstellung von Workerknoten, die Jobverteilung auf die Workerknoten, die Zustandsüberwachung und den Austausch fehlerhafter Worker-Knoten automatisch verwaltet, sehen oder verwalten Sie die VMs nicht direkt.
Streamingeinheiten. Während die Plattform die Worker-Knoten und die Auftragsverteilung auf die Worker-Knoten verwaltet, sind Sie für die Zuweisung von Streamingeinheiten (SUs) zu Aufträgen verantwortlich. SUs stellen die Computeressourcen dar, die einen Auftrag ausführen. Je höher die Anzahl der SUs ist, desto mehr Rechenressourcen werden für den Auftrag zugeordnet. Weitere Informationen finden Sie unter Grundlegendes und Anpassen von Stream Analytics-Streamingeinheiten.
Prüfpunkte. Stream Analytics verwaltet den Auftragsstatus durch regelmäßige Prüfpunkte des Zustands. Prüfpunkte ermöglichen eine schnelle Wiederherstellung mit minimaler Datenverarbeitung bei Fehlern, auch bei Aufträgen, die zustandsbehaftete Abfragelogik verwenden.
Wenn Verarbeitungsfehler auftreten, startet Stream Analytics automatisch vom letzten Prüfpunkt neu und verarbeitet automatisch Ereignisse, die während der Verarbeitung fehlschlagen. Diese Garantie gilt für alle integrierten Funktionen und benutzerdefinierten Funktionen innerhalb des Auftrags. Das Erreichen der genauen Einmalzustellung hängt jedoch von den Fähigkeiten Ihres Ausgabeziels ab. Weitere Informationen finden Sie unter Prüfpunkt- und Wiedergabekonzepte in Azure Stream Analytics-Aufträgen.
Hinweis
Mit Azure Stream Analytics auf IoT Edge können Sie Aufträge in Ihrer eigenen Infrastruktur ausführen. Wenn Sie Stream Analytics auf IoT Edge verwenden, sind Sie dafür verantwortlich, sie so zu konfigurieren, dass sie Ihren Zuverlässigkeitsanforderungen entspricht. Stream Analytics auf IoT Edge liegt außerhalb des Umfangs dieses Artikels.
Widerstandsfähigkeit gegen vorübergehende Fehler
Vorübergehende Fehler sind kurze, zeitweilige Fehler in Komponenten. Sie treten häufig in einer verteilten Umgebung wie der Cloud auf und sind ein normaler Bestandteil von Vorgängen. Vorübergehende Fehler korrigieren sich nach kurzer Zeit. Es ist wichtig, dass Ihre Anwendungen vorübergehende Fehler behandeln können, in der Regel durch Wiederholen betroffener Anforderungen.
Alle in der Cloud gehosteten Anwendungen sollten die Anleitung zur vorübergehenden Fehlerbehandlung von Azure befolgen, wenn sie mit cloudgehosteten APIs, Datenbanken und anderen Komponenten kommunizieren. Weitere Informationen finden Sie unter Empfehlungen zum Umgang mit vorübergehenden Fehlern.
Stream Analytics behebt viele vorübergehende Fehler sowohl beim Einlesen von Daten aus Eingabefeldern als auch beim Schreiben von Daten in Ausgaben automatisch durch integrierte Wiederholungsmechanismen. Nachdem ein Arbeitsknoten neu gestartet oder einem neuen Auftrag zugewiesen wurde, verwendet der Auftrag Prüfpunkte, um alle Ereignisse wiederzugeben, die nicht vollständig verarbeitet wurden, und die Verarbeitung fortzusetzen, bis der Auftrag den aktuellen Eingabedatenstrom erreicht.
Es empfiehlt sich, Ausgabefehlerrichtlinien zu konfigurieren. Diese Richtlinien gelten jedoch nur für Datenkonvertierungsfehler, und sie beeinflussen nicht das Verhalten für die Behandlung vorübergehender Fehler.
Ausfallsicherheit bei Ausfällen von Verfügbarkeitszonen
Verfügbarkeitszonen sind physisch getrennte Gruppen von Rechenzentren innerhalb einer Azure-Region. Wenn eine Zone ausfällt, erfolgt ein Failover der Dienste zu einer der verbleibenden Zonen.
Stream Analytics ist automatisch zonenredundant in Regionen, die Verfügbarkeitszonen unterstützen, was bedeutet, dass Aufträge mehrere Verfügbarkeitszonen verwenden. Zonenredundanz stellt sicher, dass Ihr Auftrag für eine große Anzahl von Fehlern widerstandsfähig ist, einschließlich katastrophaler Rechenzentrumsausfälle, ohne Änderungen an der Anwendungslogik.
Wenn Sie einen Stream Analytics-Auftrag in einer zonenfähigen Region erstellen, verteilt der Dienst die Computeressourcen Ihres Auftrags über mehrere Verfügbarkeitszonen:
Mit diesem zonenredundanten Bereitstellungsmodell wird sichergestellt, dass Ihre Streamingaufträge weiterhin Daten verarbeiten, auch wenn eine gesamte Verfügbarkeitszone nicht mehr verfügbar ist. Das folgende Diagramm zeigt beispielsweise, wie Aufträge weiterhin ausgeführt werden, wenn Zone 3 einen Ausfall erlebt:
Zonenredundanz gilt für alle Stream Analytics-Features, einschließlich Abfrageverarbeitungs-, Prüfpunkt- und Auftragsverwaltungsvorgängen. Stream Analytics repliziert automatisch die Status- und Prüfpunktdaten Ihres Auftrags über Verfügbarkeitszonen hinweg, verhindert Datenverlust und ermöglicht nahezu null Ausfallzeiten während Zonenausfällen.
Anforderungen
- Regionsunterstützung: Zonenredundanz für Stream Analytics-Ressourcen wird in jeder Region unterstützt, die Verfügbarkeitszonen unterstützt. Die vollständige Liste der Regionen, die Verfügbarkeitszonen unterstützen, finden Sie in Azure-Regionen mit Verfügbarkeitszonen.
- SKUs: Zonenredundanz ist in allen Stream Analytics-SKUs verfügbar.
Kosten
Zonenredundanz in Stream Analytics verursacht keine zusätzlichen Gebühren. Sie zahlen die gleiche Rate für Streamingeinheiten, unabhängig davon, ob Ihr Auftrag in einer zonenredundanten Konfiguration ausgeführt wird oder nicht. Weitere Informationen finden Sie unter Azure Stream Analytics-Preise.
Konfigurieren der Unterstützung von Verfügbarkeitszonen
Erstellen Sie einen zonenredundanten Stream Analytics-Auftrag. Zonenredundanz wird automatisch aktiviert, wenn Sie einen Stream Analytics-Auftrag in einer unterstützten Region erstellen. Es ist keine Konfiguration erforderlich.
Anweisungen zur Bereitstellung finden Sie in der Schnellstartanleitung: Erstellen eines Stream Analytics-Auftrags mithilfe des Azure-Portals und Schnellstart: Erstellen eines dedizierten Azure Stream Analytics-Clusters mithilfe des Azure-Portals.
Aktivieren Sie Zonenredundanz. Alle Jobs und dedizierten Cluster sind automatisch zonenredundant in Regionen mit Verfügbarkeits-Zonen. Sie müssen keine Zonenredundanz aktivieren.
Zonenredundanz deaktivieren. Zonenredundanz kann nicht deaktiviert werden.
Verhalten, wenn alle Zonen fehlerfrei sind
In diesem Abschnitt wird beschrieben, was Sie erwarten müssen, wenn Sie Stream Analytics-Aufträge mit Verfügbarkeitszonenunterstützung konfigurieren und alle Verfügbarkeitszonen betriebsbereit sind.
Datenverkehrsrouting zwischen Zonen. Stream Analytics führt jeden Auftrag auf Workerknoten aus. Eingehende Streamingdaten können von Mitarbeitern in jeder Zone verarbeitet werden. Der Dienst verwendet den internen Lastenausgleich, um Verarbeitungsaufgaben über Zonen hinweg zu verteilen.
Datenreplikation zwischen Zonen. Stream Analytics repliziert Auftragsstatus- und Prüfpunktdaten synchron über Verfügbarkeitszonen hinweg. Während der Auftrag Ereignisse verarbeitet und den Zustand aktualisiert, schreibt Stream Analytics diese Änderungen in mehrere Verfügbarkeitszonen, bevor sie bestätigt werden. Diese synchrone Replikation stellt keinen Datenverlust sicher, auch wenn eine gesamte Zone nicht verfügbar ist. Der Replikationsprozess ist für Ihre Anwendung transparent und wirkt sich nicht auf die Verarbeitungslatenz unter normalen Bedingungen aus.
Verhalten bei einem Zoneausfall
In diesem Abschnitt wird beschrieben, was Sie erwarten müssen, wenn Sie Stream Analytics-Aufträge mit Unterstützung der Verfügbarkeitszone konfigurieren, und es gibt einen Ausfall der Verfügbarkeitszone.
- Erkennung und Reaktion: Die Stream Analytics-Plattform ist dafür verantwortlich, einen Fehler in einer Verfügbarkeitszone zu erkennen und darauf zu reagieren. Stream Analytics kennzeichnet Mitarbeiter in der fehlerhaften Zone als ungesund, und Aufträge, die für diese Mitarbeiter ausgeführt werden, werden automatisch an Die Mitarbeiter in den verbleibenden fehlerfreien Zonen verteilt. Sie müssen keine Maßnahmen ergreifen, um ein Zonenfailover zu initiieren.
- Benachrichtigung: Microsoft benachrichtigt Sie nicht automatisch, wenn eine Zone deaktiviert ist. Sie können jedoch Azure Resource Health verwenden, um den Status einer einzelnen Ressource zu überwachen, und Sie können Ressourcenintegritätswarnungen einrichten, um Sie über Probleme zu informieren. Sie können auch Azure Service Health verwenden, um die allgemeine Integrität des Diensts zu verstehen, einschließlich jeglicher Zonenfehler, und Sie können Dienststatuswarnungen einrichten, um Sie über Probleme zu informieren.
Aktive Anforderungen: Laufende Aufträge werden zu einem anderen Worker in einer fehlerfeie Verfügbarkeitszone verschoben.
Stream Analytics verwendet Prüfpunkte, um den Verarbeitungszustand aufrechtzuerhalten. Während eines Zonenausfalls werden In-Flight-Ereignisse, die von Mitarbeitern in der fehlgeschlagenen Zone verarbeitet werden, automatisch vom letzten Prüfpunkt von Workern in fehlerfreien Zonen neu verarbeitet.
Erwarteter Datenverlust: Das Auftragsprüfsystem stellt keinen Datenverlust sicher.
Erwartete Ausfallzeiten: Aufträge, die ausgeführt werden, werden automatisch fortgesetzt, nachdem die Plattform sie zu einem fehlerfreien Worker verschoben hat.
Datenverkehrsumleitung: Der Dienst leitet automatisch alle neuen Eingabedaten an Mitarbeiter in fehlerfreien Zonen weiter. Bestehende Verbindungen aus Eingabequellen werden mit Arbeitern in Betriebszonen wiederhergestellt. Ausgabeverbindungen sind ähnlich neu aufgebaut und stellen einen kontinuierlichen Datenfluss über Ihre Streamingpipeline sicher.
Zonenwiederherstellung
Wenn die fehlgeschlagene Verfügbarkeitszone wiederhergestellt wird, integriert Stream Analytics sie automatisch in den aktiven Verarbeitungspool. Jobs beginnen die wiederhergestellte Infrastruktur zu nutzen.
Sie ergreifen keine Maßnahmen für die Zonenwiederherstellung, da die Plattform alle Aspekte der Zonenwiederherstellung verarbeitet, einschließlich Zustandssynchronisierung und Umverteilung der Workload.
Test auf Zonenfehler
Da die Stream Analytics-Plattform Datenverkehrsrouting, Failover und Zonenwiederherstellung verwaltet, müssen Sie keine Prozesse bei einem Ausfall einer Verfügbarkeitszone initiieren oder überprüfen.
Widerstandsfähigkeit bei regionalen Ausfällen
Stream Analytics stellt Ressourcen in einer einzelnen Azure-Region bereit. Wenn die Region nicht verfügbar ist, sind Ihre Aufträge (und dedizierte Cluster, falls zutreffend) ebenfalls nicht verfügbar.
Benutzerdefinierte Lösungen mit mehreren Regionen für Resilienz
Um die Resilienz mehrerer Regionen für Ihre Streamingworkloads zu erreichen, sollten Sie separate Aufträge in mehreren Regionen bereitstellen. Wenn Sie dies tun, sind Sie für die Bereitstellung und Verwaltung der Aufträge und für die Konfiguration der entsprechenden Datenrouting- und Synchronisierungsstrategien verantwortlich. Die Stream Analytics-Aufträge sind zwei separate Entitäten. Es liegt in der Verantwortung Ihrer Anwendung, sowohl Eingabedaten an regionale Eingaben zu senden als auch regionale Ausgaben abzugleichen. Weitere Informationen zu diesem Ansatz finden Sie unter Erreichen von Georedundanz für Stream Analytics-Aufträge.
Sichern und Wiederherstellen
Stream Analytics verfügt nicht über ein integriertes Sicherungs- und Wiederherstellungsfeature.
Wenn Sie die Definition und Konfiguration Ihrer Aufträge jedoch verschieben, kopieren oder sichern möchten, können Sie die Stream Analytics-Erweiterung für Visual Studio Code verwenden, um einen vorhandenen Auftrag in der Azure-Cloud auf Ihren lokalen Computer zu exportieren. Nachdem Sie die gesamte Konfiguration Ihrer Stream Analytics-Aufträge lokal gespeichert haben, können Sie sie in derselben oder einer anderen Azure-Region bereitstellen. Informationen zum Kopieren, Sichern und Verschieben Ihrer Stream Analytics-Aufträge finden Sie unter Kopieren, Sichern und Verschieben Ihrer Azure Stream Analytics-Aufträge.
Resilienz gegenüber Wartungsarbeiten an Diensten
Stream Analytics führt automatische Plattformwartung durch, um Sicherheitsupdates anzuwenden, neue Features bereitzustellen und die Zuverlässigkeit des Diensts zu verbessern. Daher kann Stream Analytics Dienstupdates wöchentlich (oder häufiger) bereitstellen. Der Stream Analytics-Dienst stellt sicher, dass jedes neue Update strenge interne Prüfungsschritte besteht, um höchste Qualität zu gewährleisten.
Beachten Sie die folgenden Punkte, um sicherzustellen, dass Ihre Aufträge für Wartungsaktivitäten stabil sind:
Konfigurieren von Aufträgen, die für Replays widerstandsfähig sind: Prüfpunkte werden in der Regel verwendet, um Daten nach Wartungsarbeiten am Dienst wiederherzustellen. Gelegentlich muss jedoch anstelle eines Prüfpunkts eine Wiedergabetechnik verwendet werden. Weitere Informationen und um zu lernen, wie Sie Ihre Eingabedatenquellen konfigurieren, sodass Wiederholungen keine falschen oder teilweisen Ergebnisse in Ihrer Ausgabe verursachen, finden Sie unter Auftragswiederherstellung aus einem Dienstupgrade.
Erwägen Sie, das Risiko von Fehlern zu verringern, indem Sie identische Aufträge bereitstellen: Der Dienst sucht proaktiv nach vielen Signalen nach der Bereitstellung für jeden Batch, um mehr Vertrauen zu erhalten, dass keine Fehler eingeführt werden. Egal wie viele Tests durchgeführt werden, besteht dennoch immer das Risiko, dass ein vorhandener und laufender Auftrag aufgrund eines durch Wartungsarbeiten verursachten Problems ausfallen könnte. Wenn Sie unternehmenskritische Aufträge ausführen, sollten Sie Schritte unternehmen, um dieses Risiko zu vermeiden.
Sie können das Risiko eines Fehlers verringern, der Sich auf Ihre Workload auswirkt, indem Sie identische Aufträge in zwei Azure-Regionen bereitstellen. Anschließend sollten Sie diese Aufträge überwachen , um Benachrichtigungen zu erhalten, wenn etwas Unerwartetes geschieht. Wenn einer dieser Aufträge nach einem Stream Analytics-Dienstupdate in einem Fehlerzustand endet, sollten Sie:
- Wenden Sie sich an den Azure-Support , um die Ursache zu identifizieren und das Problem zu beheben.
- Alle nachgeschalteten Verbraucher auf die fehlerfreie Ausgabe des Jobs umschalten.
Wenn Sie Azure-Regionen auswählen, die für Ihren sekundären Auftrag verwendet werden sollen, überlegen Sie, ob Ihre Region über eine gekoppelte Region verfügt. Die Liste der Azure-Regionen enthält die aktuellsten Informationen darüber, welche Regionen gekoppelt sind. Stream Analytics garantiert, dass die Infrastruktur in gekoppelten Regionen zu unterschiedlichen Zeiten aktualisiert wird. Die Bereitstellung eines Updates für Stream Analytics erfolgt nicht gleichzeitig in einer Reihe von gekoppelten Regionen. Daher besteht ein ausreichender Zeitabstand zwischen den Updates, um potenzielle Probleme zu identifizieren und zu beheben.
Service-Level-Vereinbarung
Der Service level agreement (SLA) für Azure-Dienste beschreibt die erwartete Verfügbarkeit jedes Diensts und die Bedingungen, die Ihre Lösung erfüllen muss, um diese Verfügbarkeitserwartungen zu erreichen. Weitere Informationen finden Sie unter SLAs für Onlinedienste.
Stream Analytics bietet separate Verfügbarkeits-SLAs für API-Aufrufe zum Verwalten von Aufträgen und für die Vorgänge der Aufträge.