Entwickeln Sie verbesserte Fan-Out-Verbraucher mit dediziertem Durchsatz - 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.

Entwickeln Sie verbesserte Fan-Out-Verbraucher mit dediziertem Durchsatz

In Amazon Kinesis Data Streams können Sie Verbraucher erstellen, die ein Feature namens erweiterte Rundsendungen verwenden. Mit dieser Funktion können Verbraucher Datensätze aus einem Stream mit einem Datendurchsatz von bis zu 2 MB pro Sekunde und Shard empfangen. Dieser Durchsatz ist dediziert, d. h. dass Verbraucher, die ein erweitertes Rundsenden verwenden, nicht mit anderen Verbrauchern konkurrieren müssen, die Daten aus dem Stream empfangen. Kinesis Data Streams überträgt Datensätze aus dem Stream zu den Verbrauchern die ein erweitertes Rundsenden verwenden. Aus diesem Grund müssen diese Verbraucher keine Daten abfragen.

Wichtig

Sie können bis zu zwanzig Nutzer pro Stream registrieren, um das erweiterte Rundsenden zu verwenden.

Das folgende Diagramm zeigt die Architektur für das erweiterte Rundsenden. Wenn Sie Version 2.0 oder höher der Amazon Kinesis Client Library (KCL) verwenden, um einen Consumer zu erstellen, KCL richtet der Consumer den Consumer so ein, dass er das erweiterte Fan-Out verwendet, um Daten von allen Shards des Streams zu empfangen. Wenn Sie den verwendenAPI, um einen Consumer zu erstellen, der erweitertes Fan-Out verwendet, können Sie einzelne Shards abonnieren.

Workflow-Diagramm der Architektur für erweitertes Rundsenden mit zwei Shards und zwei Verbrauchern. Jeder der beiden Verbraucher verwendet erweitertes Rundsenden, um Daten von beiden Shards des Streams zu empfangen.

Das Diagramm zeigt Folgendes:

  • Einen Stream mit zwei Shards.

  • Zwei Verbraucher, die erweitertes Rundsenden verwenden, um Daten vom Stream zu empfangen: Consumer X und Consumer Y. Beide Verbraucher haben alle Shards und alle Datensätze im Stream abonniert. Wenn Sie Version 2.0 oder höher von verwenden, um einen Consumer KCL zu erstellen, abonniert der diesen Consumer KCL automatisch für alle Shards des Streams. Wenn Sie den dagegen verwenden, um einen Consumer API zu erstellen, können Sie einzelne Shards abonnieren.

  • Pfeile stellen die Pipes für das erweiterte Rundsenden dar, die die Verbraucher verwenden, um Daten aus dem Stream zu erhalten. Eine Pipe für erweitertes Rundsenden liefert bis zu 2 MB/s Daten pro Shard, unabhängig von anderen Pipes oder der Gesamtzahl der Verbraucher.

Unterschiede zwischen Shared Without Consumer und Enhanced Fan-out Consumer

In der folgenden Tabelle werden Standardverbraucher mit gemeinsamem Durchsatz und Verbrauchern mit erweitertem Fan-Out-Wert verglichen. Die Verzögerung der Nachrichtenweiterleitung ist definiert als die Zeit in Millisekunden, die eine Nutzlast, die mithilfe des Payload-Dispatchings APIs (like PutRecord undPutRecords) gesendet wurde, bis sie die Verbraucheranwendung über die nutzlastverbrauchende Anwendung (like und) erreicht. APIs GetRecords SubscribeToShard

In dieser Tabelle werden Verbraucher mit gemeinsamem Durchsatz und Verbrauchern mit erweitertem Fan-Out-Wert verglichen
Merkmale Verbraucher mit gemeinsamem Durchsatz ohne erweiterten Fan-Out-Wert Verbraucher mit verbesserter Fan-Out-Funktionalität
Lesedurchsatz

Auf insgesamt 2 MB/sec per shard. If there are multiple consumers reading from the same shard, they all share this throughput. The sum of the throughputs they receive from the shard doesn't exceed 2 MB/sec behoben.

Der Wert erhöht sich nur, wenn Konsumenten für erweiterte Rundsendungen registriert werden. Jeder für erweiterte Rundsendungen registrierte Konsument erhält einen eigenen Lesedurchsatz von bis zu 2 MB/s pro Shard, den er nicht mit anderen Konsumenten teilen muss.

Verzögerung der Nachrichtenverbreitung

Ein Durchschnitt von etwa 200 ms, wenn Sie einen Verbraucher haben, der aus dem Stream liest. Dieser Durchschnitt steigt bis zu 1000 ms an, wenn Sie fünf Verbraucher haben.

In der Regel durchschnittlich 70 ms, unabhängig davon, ob Sie einen oder fünf Verbraucher haben.

Kosten Nicht zutreffend

Es gibt Datenabrufkosten und Konsumenten-Shard-Stundensätze. Weitere Informationen finden Sie unter Preise für Amazon Kinesis Daten-Streams.

Datensatzbereitstellungsmodell

Ziehen Sie das Modell über und HTTP verwenden Sie GetRecords.

Kinesis Data Streams überträgt Ihnen die Datensätze über HTTP /2 mithilfe von. SubscribeToShard