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
Die AWS globale Infrastruktur basiert auf AWS Regionen und Availability Zones. AWS Regionen bieten mehrere physisch getrennte und isolierte Availability Zones, die über Netzwerke mit niedriger Latenz, hohem Durchsatz und hoher Redundanz miteinander 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 zu AWS Regionen und Availability Zones finden Sie unter AWS Globale
Zusätzlich zur AWS globalen Infrastruktur bietet Kinesis Data Streams mehrere Funktionen, die Sie bei der Unterstützung Ihrer Datenausfallsicherheit und Ihrer Backup-Anforderungen unterstützen.
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 ExecutorService
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.