Schritt 7: Abschluss - 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.

Schritt 7: Abschluss

Da Sie für die Nutzung des Kinesis Data Streams zahlen, sollten Sie diesen ebenso wie die entsprechende Amazon-DynamoDB-Tabelle löschen, wenn sie nicht mehr benötigt werden. Für einen aktiven Stream fallen auch dann nominale Gebühren an, wenn Sie keine Datensätze senden oder abrufen. Der Grund hierfür ist, dass ein aktiver Stream durch kontinuierlichen „Horchen“ darauf, ob neue Datensätze oder Anforderungen zum Abrufen von Datensätzen eingehen, Ressourcen verbraucht.

So löschen Sie den Stream und die Tabelle
  1. Fahren Sie alle laufenden Produzenten und Konsumenten herunter.

  2. Öffnen Sie die Kinesis-Konsole unter.https://console.aws.amazon.com/kinesis.

  3. Wählen Sie den Stream aus, den Sie für diese Anwendung erstellt haben (StockTradeStream).

  4. Wählen Sie Delete Stream (Stream löschen) aus.

  5. Öffnen Sie die DynamoDB-Konsole unter https://console.aws.amazon.com/dynamodb/.

  6. Löschen Sie die StockTradesProcessor-Tabelle.

Übersicht

Für die Verarbeitung großer Datenmengen in nahezu Echtzeit muss weder ein magischer Code geschrieben noch eine umfangreiche Infrastruktur entwickelt werden. Das Ganze ist so einfach wie das Schreiben einer Logik für die Verarbeitung einer kleinen Datenmenge (wie das Schreiben von processRecord(Record)), die dann zu Skalierungszwecken mit Kinesis Data Streams kombiniert wird, damit auch große Mengen an Streaming-Daten verarbeitet werden können. Sie müssen sich keine Gedanken über die Skalierung der Verarbeitung machen, da Kinesis Data Streams das für Sie übernimmt. Sie müssen lediglich Ihre Streaming-Datensätze an Kinesis Data Streams senden und eine Logik für die Verarbeitung neu empfangener Datensätze schreiben.

Nachfolgend einige mögliche Erweiterungen für diese Anwendung.

Shard-übergreifende Aggregation

Derzeit erhalten Sie Statistiken, die aus der Aggregation von Datensätzen resultieren, die von einem einzelnen Auftragnehmer eines einzelnen Shards empfangen werden. (Ein Shard kann jeweils nur von einem Auftragnehmer in einer einzelnen Anwendung verarbeitet werden.) Möglicherweise möchten Sie, wenn Sie eine Skalierung durchführen und mehr als einen Shard haben, eine Shard-übergreifende Aggregation vornehmen. Dies kann mit einer Pipeline-Architektur realisiert werden, bei der die Ausgabe eines jeden Auftragnehmers in einen anderen Stream mit einem einzelnen Shard eingespeist wird, der von einem Auftragnehmer verarbeitet wird, der die Ausgaben der ersten Phase aggregiert. Da die Daten aus der ersten Phase begrenzt sind (eine Ausgabe pro Minute pro Shard), können sie problemlos von nur einem Shard verarbeitet werden.

Skalierung

Wenn der Stream skaliert wird, damit mehr Shards zur Verfügung stehen (da viele Produzenten Daten senden), geschieht dies dadurch, dass mehr Worker hinzugefügt werden. Sie können die Auftragnehmer in EC2-Instances ausführen und Auto-Scaling-Gruppen nutzen.

Verwenden Sie Konnektoren zu Amazon S3/DynamoDB/Amazon Redshift/Storm

Da ein Stream kontinuierlich verarbeitet wird, kann seine Ausgabe an andere Ziele gesendet werden. AWS bietet Konnektoren zur Integration von Kinesis Data Streams mit anderen AWS-Services und Tools von Drittanbietern.

Nächste Schritte