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 von Produzenten mit der Amazon Kinesis Producer Library
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 Produzentenanwendungen und ermöglicht Entwicklern einen hohen Schreibdurchsatz für einen Kinesis-Datenstrom.
Sie können die KPL mit Amazon überwachen CloudWatch. Weitere Informationen finden Sie unter Überwachung der Kinesis Producer Library mit Amazon CloudWatch.
Inhalt
- Die Rolle der KPL
- Vorteile der Verwendung der KPL
- Wann die KPL nicht verwendet werden sollte
- Installieren der KPL
- Umstieg auf Amazon Trust Services (ATS)-Zertifikate für die Kinesis Producer Library
- KPL-unterstützte Plattformen
- Die wichtigsten Konzepte von KPL
- Integrieren der KPL mit Producer-Code
- Schreiben in den Kinesis Data Streams mit der KPL
- Konfiguration der Kinesis Producer Library
- Datenproduzent – Disaggregation
- Verwenden der KPL mit Firehose
- Verwenden der KPL mit der AWS Glue Schema Registry
- KPL-Proxy-Konfiguration
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/
Die Rolle der KPL
Die KPL ist eine hoch 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
-
Sendet Amazon- CloudWatch Metriken in Ihrem Namen, um Einblick in die Leistung des Produzenten zu gewähren
Beachten Sie, dass sich die KPL von der API für Kinesis Data Streams unterscheidet, die in den AWS SDKs
Vorteile der Verwendung der KPL
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 in den Kinesis Data Streams mit der KPL.
- Leistungsvorteile
-
Mit der KPL können Sie leistungsstarke Produzenten erstellen. Angenommen, Ihre Amazon-EC2-Instances dienen als Proxy zum Erfassen von 100-Byte-Ereignissen von mehreren Hundert oder Tausend energiesparenden Geräten und zum Schreiben von Datensätzen in einen Kinesis-Datenstrom. Diese EC2 Instances müssen jeweils Tausende von Ereignissen pro Sekunde in Ihren Datenstream 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 Produzenten von Kinesis Data Streams mit Amazon und der KPL erfassen, überwachen CloudWatch und analysieren. Die KPL gibt in CloudWatch Ihrem Namen Durchsatz, Fehler und andere Metriken an aus und kann für die Überwachung auf Stream-, Shard- oder Produzentenebene konfiguriert werden.
- Asynchrone Architektur
-
Da die KPL Datensätze möglicherweise vor dem Senden an Kinesis Data Streams puffert, wird die Anwendung des Aufrufers nicht zum Blockieren und Warten auf die Bestätigung, dass der Datensatz beim Server angekommen ist, gezwungen, ehe die Ausführung fortgesetzt werden kann. 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 asynchrone Clients im AWS SDK.
Wann die KPL nicht verwendet werden sollte
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 möglicherweise das AWS
-SDK direkt verwenden. Weitere Informationen zur Verwendung des AWS SDK mit Kinesis Data Streams finden Sie unter Entwicklung von Produzenten mithilfe der API für Amazon Kinesis Data Streams mit der AWS SDK for Java. Weitere Informationen zu RecordMaxBufferedTime
und anderen vom Benutzer konfigurierbaren Eigenschaften der KPL finden Sie unter Konfiguration der Kinesis Producer Library.