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 Produzenten mithilfe der Amazon Kinesis Producer Library () KPL
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 Producer-Anwendungen und ermöglicht es Entwicklern, einen hohen Schreibdurchsatz in einen Kinesis-Datenstream zu erreichen.
Sie können das KPL mit Amazon überwachen CloudWatch. Weitere Informationen finden Sie unter Überwachen Sie die Kinesis Producer Library mit Amazon CloudWatch.
Themen
- Informieren Sie sich über die Rolle des KPL
- Erkennen Sie die Vorteile der Verwendung von KPL
- Verstehen Sie, wann Sie das nicht verwenden sollten KPL
- Installieren Sie das KPL
- Umstellung auf Amazon Trust Services (ATS) -Zertifikate für KPL
- KPL Unterstützte Plattformen
- KPL Die wichtigsten Konzepte
- Integrieren Sie den KPL mit dem Herstellercode
- Schreiben Sie in Ihren Kinesis-Datenstream mit dem KPL
- Kinesis Producer Library konfigurieren
- Implementieren Sie die Deaggregation für Verbraucher
- Verwenden Sie die Firehose KPL mit Amazon Data
- Verwenden Sie das KPL mit der Schema Registry AWS Glue
- Konfigurieren Sie die KPL Proxy-Konfiguration
Anmerkung
Es wird empfohlen, auf die neueste KPL Version zu aktualisieren. KPLwird regelmäßig mit neueren Versionen aktualisiert, die die neuesten Abhängigkeits- und Sicherheitspatches, Bugfixes und abwärtskompatible neue Funktionen enthalten. Weitere Informationen finden Sie unter /releases/. https://github.com/awslabs/ amazon-kinesis-producer
Informieren Sie sich über die Rolle des KPL
Die KPL ist eine easy-to-use hochgradig konfigurierbare Bibliothek, mit der Sie in einen Kinesis-Datenstrom schreiben können. Es fungiert als Vermittler zwischen Ihrem Producer-Anwendungscode und den Kinesis Data Streams API Streams-Aktionen. Der KPL führt die folgenden Hauptaufgaben aus:
-
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
-
Lässt sich nahtlos in die Kinesis Client Library (KCL) integrieren, um gebündelte Datensätze auf dem Endverbraucher zu deaggregieren
-
Übermittelt in Ihrem Namen CloudWatch Amazon-Metriken, um Einblick in die Leistung der Produzenten zu erhalten
Beachten Sie, dass KPL sich der von den Kinesis Data Streams unterscheidetAPI, die in der AWS SDKs
Erkennen Sie die Vorteile der Verwendung von KPL
In der folgenden Liste sind einige der wichtigsten Vorteile aufgeführt, die sich aus der Verwendung von Kinesis Data Streams Streams-Produzenten KPL für die Entwicklung ergeben.
Der KPL kann entweder in synchronen oder asynchronen Anwendungsfällen verwendet 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 in Ihren Kinesis-Datenstream mit dem KPL.
- Leistungsvorteile
-
KPLSie können beim Aufbau von Hochleistungsproduzenten helfen. 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. Der KPL führt all diese Aufgaben für Sie aus.
- Anwenderfreundlichkeit auf Konsumentenseite
-
Für Entwickler auf Kundenseite, die KCL in Java verwenden, KPL lässt sich der ohne zusätzlichen Aufwand integrieren. Wenn der einen aggregierten Kinesis Data Streams Streams-Datensatz KCL abruft, der aus mehreren KPL Benutzerdatensätzen besteht, ruft er automatisch den auf, KPL um die einzelnen Benutzerdatensätze zu extrahieren, bevor sie an den Benutzer zurückgegeben werden.
Für Entwickler auf Kundenseite, die den API Vorgang nicht, KCL sondern
GetRecords
direkt verwenden, steht eine KPL Java-Bibliothek zur Verfügung, mit der die einzelnen Benutzerdatensätze extrahiert werden können, bevor sie an den Benutzer zurückgegeben werden. - Überwachen von Produzenten
-
Sie können Ihre Kinesis Data Streams Streams-Produzenten mit Amazon und dem KPL sammeln, überwachen CloudWatch und analysieren. Der KPL sendet in Ihrem Namen Durchsatz, Fehler und andere Messwerte an und ist für die Überwachung CloudWatch auf Stream-, Shard- oder Producer-Ebene konfigurierbar.
- Asynchrone Architektur
-
Da sie Datensätze puffern KPL können, 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 Ausführung fortgesetzt wird. Ein Aufruf zum Einfügen eines Datensatzes wird KPL immer sofort zurückgegeben und wartet nicht darauf, dass der Datensatz gesendet oder 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 in der AWS SDK.
Verstehen Sie, wann Sie das nicht verwenden sollten KPL
Dies KPL kann zu einer zusätzlichen Verarbeitungsverzögerung von bis zu RecordMaxBufferedTime
innerhalb der Bibliothek führen (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 die AWS
SDK möglicherweise direkt verwenden. Weitere Informationen zur Verwendung von AWS SDK mit Kinesis Data Streams finden Sie unterEntwickeln Sie Produzenten, die Amazon Kinesis Data Streams verwenden, API mit dem AWS SDK for Java. Weitere Informationen über RecordMaxBufferedTime
und andere vom Benutzer konfigurierbare Eigenschaften von finden Sie KPL unter. Kinesis Producer Library konfigurieren