Resilienz in Amazon Kinesis Data Streams - Amazon-Kinesis-Data-Streams

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Resilienz in Amazon Kinesis Data Streams

Das Tool AWS Die globale Infrastruktur basiert auf AWS Regionen und Verfügbarkeitszonen. AWS Regionen stellen mehrere physisch getrennte und isolierte Availability Zones bereit, die mit Netzwerken mit geringer Latenz, hohem Durchsatz und hochredundanten Vernetzungen verbunden sind. Mithilfe von Availability Zones können Sie Anwendungen und Datenbanken erstellen und ausführen, die automatisch Failover zwischen Availability Zones ausführen, ohne dass es zu Unterbrechungen kommt. Availability Zones sind besser hoch verfügbar, fehlertoleranter und skalierbarer als herkömmliche Infrastrukturen mit einem oder mehreren Rechenzentren.

Weitere Informationen zur AWS Regionen und Verfügbarkeitszonen, siehe AWS Globale Infrastruktur.

Zusätzlich zu AWS Kinesis Data Streams ist eine globale Infrastruktur und bietet verschiedene Funktionen zur Unterstützung Ihrer Datenausfallsicherheit und Backup-Anforderungen.

Notfallwiederherstellung in Amazon Kinesis Data Streams

Wenn Sie Daten aus einem Stream mit einer Anwendung von Amazon Kinesis Data Streams verarbeiten, sind Ausfälle auf folgenden Ebenen möglich:

  • Ausfall eines Datensatzprozessors

  • Ausfall eines Auftragnehmers oder einer Instance der Anwendung, die den Auftragnehmer instanziiert hat

  • Eine EC2 Instanz, die eine oder mehrere Instanzen der Anwendung hostet, könnte ausfallen

Prozessorfehler aufzeichnen

Der Worker ruft mithilfe von ExecutorServiceJava-Aufgaben Methoden der Datensatzverarbeitung auf. Schlägt die Ausführung einer Aufgabe fehlt, behält der Auftragnehmer die Kontrolle über den Shard, den der Datensatzprozessor verarbeitet hat. Der Auftragnehmer startet eine neue Datensatzprozessoraufgabe für die Verarbeitung des Shards. Weitere Informationen finden Sie unter Drosselung lesen.

Fehler beim Worker oder bei der Anwendung

Wenn ein Worker oder eine Instance der Anwendung Amazon Kinesis Data Streams ausfällt, sollten Sie die Situation erkennen können und angemessen reagieren. Löst beispielsweise die Worker.run-Methode eine Ausnahme aus, müssen Sie diese abfangen und verwalten.

Fällt die Anwendung selbst aus, sollten Sie dies erkennen, damit Sie einen Neustart durchführen können. Wenn die Anwendung gestartet wird, instanziiert sie einen neuen Auftragnehmer, der wiederum neue Datensatzprozessoren instanziiert, denen automatisch Shards zur Verarbeitung zugewiesen werden. Dies können dieselben Shards sein, die der Datensatzprozessor vor dem Ausfall verarbeitet hat, oder neue Shards.

In einer Situation, in der der Worker oder die Anwendung ausfällt, der Fehler nicht erkannt wird und andere Instanzen der Anwendung auf anderen EC2 Instanzen ausgeführt werden, behandeln die Worker auf diesen anderen Instanzen den Fehler. Sie erstellen weitere Datensatzprozessoren für die Verarbeitung der Shards des ausgefallenen Auftragnehmers. Die Belastung dieser anderen EC2 Instanzen nimmt entsprechend zu.

Das hier beschriebene Szenario geht davon aus, dass der Worker oder die Anwendung zwar ausgefallen ist, die EC2 Hosting-Instance jedoch weiterhin läuft und daher nicht von einer Auto Scaling Scaling-Gruppe neu gestartet wird.

Ausfall der EC2 Amazon-Instanz

Wir empfehlen, dass Sie die EC2 Instances für Ihre Anwendung in einer Auto Scaling Scaling-Gruppe ausführen. Auf diese Weise startet die Auto Scaling Scaling-Gruppe automatisch eine neue Instance, um sie zu ersetzen, wenn eine der EC2 Instances ausfällt. Sie sollten die Instances so konfigurieren, dass Ihre Anwendung Amazon Kinesis Data Streams beim Start gestartet wird.