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.
Ein Produzent von Amazon Kinesis Data Streams ist eine Anwendung, die Datensätze an einen Kinesis-Datenstrom übergibt (dies wird auch als Datenerfassung bezeichnet). Die Kinesis Producer Library (KPL) vereinfacht die Entwicklung von Herstelleranwendungen und ermöglicht es Entwicklern, einen hohen Schreibdurchsatz in einen Kinesis-Datenstrom zu erzielen.
Sie können die KPL mit Amazon CloudWatch überwachen. Weitere Informationen finden Sie unter Überwachen Sie die Kinesis Producer Library mit Amazon CloudWatch.
Anmerkung
Es wird empfohlen, ein Upgrade auf die neueste KPL-Version durchzuführen. KPL wird regelmäßig mit neueren Versionen aktualisiert, die die neuesten Abhängigkeits- und Sicherheitspatches, Bugfixes und abwärtskompatible neue Features enthalten. Weitere Informationen finden Sie unter https://github.com/awslabs/amazon-kinesis-producer/releases/
Sehen Sie sich die Rolle der KPL an
Die KPL ist eine hochgradig konfigurierbare Bibliothek easy-to-use, mit der Sie in einen Kinesis-Datenstrom schreiben können. Sie dient als Vermittler zwischen dem Code Ihrer Produzentenanwendung und den API-Aktionen von Kinesis Data Streams. Die KPL führt die folgenden primären Aufgaben durch:
-
Schreiben in einen oder mehrere Kinesis-Datenströme mit einem automatischen und konfigurierbaren Wiederholungsmechanismus
-
Sammeln von Datensätzen und Verwenden von
PutRecords
, um pro Anforderung mehrere Datensätze für mehrere Shards zu schreiben -
Aggregieren von Benutzerdatensätzen zur Erhöhung der Nutzlast und Verbesserung des Durchsatzes
-
Nahtlose Integration in die Kinesis Client Library (KCL), für eine Disaggregation gestapelter Datensätze auf Konsumentenseite
-
Übermittelt in Ihrem Namen CloudWatch Amazon-Metriken, um Einblick in die Leistung der Produzenten zu erhalten
Beachten Sie, dass sich die KPL von der Kinesis Data Streams Streams-API unterscheidet, die in der verfügbar ist. AWS SDKs
Machen Sie sich die Vorteile der Verwendung der KPL bewusst
In der folgenden Liste sind einige der größten Vorteile der Verwendung der KPL für die Entwicklung von Produzenten von Kinesis Data Streams aufgeführt.
Die KPL kann für synchrone oder asynchrone Anwendungsfälle eingesetzt werden. Wir empfehlen, die höhere Leistung der asynchronen Schnittstelle zu verwenden, sofern keine besonderen Gründe für die Nutzung des synchronen Verhaltens vorliegen. Weitere Informationen zu diesen beiden Anwendungsfällen sowie einen Beispiel-Code finden Sie unter Schreiben Sie mit der KPL in Ihren Kinesis-Datenstream.
- Leistungsvorteile
-
Mit der KPL können Sie leistungsstarke Produzenten erstellen. Stellen Sie sich eine Situation vor, in der Ihre EC2 Amazon-Instances als Proxy für die Erfassung von 100-Byte-Ereignissen von Hunderten oder Tausenden von Geräten mit geringem Stromverbrauch und das Schreiben von Datensätzen in einen Kinesis-Datenstrom dienen. Diese EC2 Instances müssen jeweils Tausende von Ereignissen pro Sekunde in Ihren Datenstrom schreiben. Um den nötigen Durchsatz zu erreichen, müssen Produzenten eine komplexe Logik, beispielsweise Stapelverarbeitung oder Multithreading, implementieren und auf Konsumentenseite eine Wiederholung der Logik sowie die Disaggregation der Datensätze sicherstellen. Die KPL führt all diese Aufgaben für Sie durch.
- Anwenderfreundlichkeit auf Konsumentenseite
-
Entwickler auf Konsumentenseite, die die KCL in Java nutzen, können die KPL ohne zusätzlichen Aufwand integrieren. Wenn die KCL einen aggregierten Datensatz von Kinesis Data Streams abruft, der aus mehreren KPL-Benutzerdatensätzen besteht, ruft sie automatisch die KPL auf, um die einzelnen Benutzerdatensätze vor der Rückgabe an den Benutzer zu extrahieren.
Für Entwickler auf Verbraucherseite, die anstelle der KCL direkt die API-Operation
GetRecords
nutzen, steht eine KPL-Java-Bibliothek zum Extrahieren der einzelnen Benutzerdatensätze vor der Rückgabe an den Benutzer zur Verfügung. - Überwachen von Produzenten
-
Sie können Ihre Kinesis Data Streams Streams-Produzenten mithilfe von Amazon und der KPL sammeln, überwachen CloudWatch und analysieren. Die KPL sendet in Ihrem Namen Durchsatz, Fehler und andere Messwerte an und kann für die Überwachung CloudWatch auf Stream-, Shard- oder Producer-Ebene konfiguriert werden.
- Asynchrone Architektur
-
Da die KPL Datensätze zwischenspeichern kann, bevor sie an Kinesis Data Streams gesendet werden, zwingt sie die aufrufende Anwendung nicht, zu blockieren und auf eine Bestätigung zu warten, dass der Datensatz auf dem Server angekommen ist, bevor die Laufzeit fortgesetzt wird. Der Aufruf, einen Datensatz an die KPL zu übergeben, wird stets sofort zurückgegeben. Es wird nicht darauf gewartet, dass der Datensatz gesendet bzw. eine Antwort vom Server empfangen wird. Stattdessen wird ein
Future
-Objekt erstellt, das zu einem späteren Zeitpunkt das Ergebnis der Sendung des Datensatzes an Kinesis Data Streams empfängt. Dies ist dasselbe Verhalten wie bei asynchronen Clients im SDK. AWS
Verstehen Sie, wann Sie die KPL nicht verwenden sollten
Die KPL kann eine weitere Verarbeitungsverzögerung von RecordMaxBufferedTime
innerhalb der Bibliothek verursachen (vom Benutzer konfigurierbar). Größere Werte von RecordMaxBufferedTime
führen zu einer schnelleren Verpackung und einer besseren Leistung. Anwendungen, die diese zusätzliche Verzögerung nicht tolerieren können, müssen das AWS SDK möglicherweise direkt verwenden. Weitere Informationen zur Verwendung des AWS SDK mit Kinesis Data Streams finden Sie unterEntwickeln Sie Produzenten mithilfe der Amazon Kinesis Data Streams API mit dem AWS SDK for Java. Weitere Informationen zu RecordMaxBufferedTime
und anderen vom Benutzer konfigurierbaren Eigenschaften der KPL finden Sie unter Kinesis Producer Library konfigurieren.