Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Développez des producteurs à l'aide de la bibliothèque Amazon Kinesis Producer () KPL
Un producteur Amazon Kinesis Data Streams est une application qui place des enregistrements de données utilisateur dans un flux de données Kinesis (également appelé ingestion de données). La Kinesis Producer Library (KPL) simplifie le développement des applications de production, en permettant aux développeurs d'atteindre un débit d'écriture élevé dans un flux de données Kinesis.
Vous pouvez les surveiller KPL avec Amazon CloudWatch. Pour de plus amples informations, veuillez consulter Surveillez la bibliothèque Kinesis Producer avec Amazon CloudWatch.
Rubriques
- Passez en revue le rôle du KPL
- Découvrez les avantages de l'utilisation du KPL
- Sachez quand ne pas utiliser le KPL
- Installer le KPL
- Migrer de la version KPL 0.x à la version KPL 1.x
- Transition vers les certificats Amazon Trust Services (ATS) pour KPL
- Plateformes prises en charge par KPL
- KPL concepts clés
- Intégrez le KPL avec le code du producteur
- Écrivez dans votre flux de données Kinesis à l'aide du KPL
- Configuration de la bibliothèque Kinesis Producer
- Mettre en œuvre la désagrégation des consommateurs
- Utilisez le KPL avec Amazon Data Firehose
- Utiliser le KPL avec le registre des AWS Glue schémas
- Configuration de la configuration du KPL proxy
Note
Il est recommandé de passer à la dernière KPL version. KPLest régulièrement mis à jour avec les nouvelles versions qui incluent les derniers correctifs de dépendance et de sécurité, les corrections de bogues et les nouvelles fonctionnalités rétrocompatibles. Pour plus d'informations, consultez https://github.com/awslabs/amazon-kinesis-producer/releases/
Passez en revue le rôle du KPL
KPLIl s'agit d'une easy-to-use bibliothèque hautement configurable qui vous permet d'écrire dans un flux de données Kinesis. Il sert d'intermédiaire entre le code de votre application de production et les actions Kinesis Data API Streams. La KPL effectue les tâches principales suivantes :
-
Ecrit dans un ou plusieurs flux de données Kinesis avec un mécanisme de nouvelle tentative configurable
-
Collecte les enregistrements et utilise
PutRecords
pour écrire plusieurs enregistrements dans plusieurs partitions par demande -
Regroupe les enregistrements d'utilisateur pour accroître la taille de la charge utile et améliorer le débit
-
S'intègre parfaitement à la bibliothèque cliente Kinesis (KCL) pour désagréger les enregistrements par lots concernant le consommateur
-
Soumet CloudWatch les statistiques Amazon en votre nom afin de fournir une visibilité sur les performances des producteurs
Notez que le KPL est différent des Kinesis Data API Streams disponibles dans le AWS SDKs
Découvrez les avantages de l'utilisation du KPL
La liste suivante présente certains des principaux avantages liés à l'utilisation des producteurs de Kinesis Data Streams KPL pour le développement.
La KPL peut servir aussi bien dans les deux cas d'utilisation synchrones qu'asynchrones. Nous recommandons d'utiliser les meilleures performances de l'interface asynchrone, à moins d'avoir une raison précise d'utiliser le comportement synchrone. Pour plus d'informations sur ces deux cas d'utilisation et l'exemple de code, consultez la page Écrivez dans votre flux de données Kinesis à l'aide du KPL.
- Avantages en termes de performances
-
La KPL peut aider à créer des applications producteur hautes performances. Imaginons que vos EC2 instances Amazon servent de proxy pour collecter des événements de 100 octets provenant de centaines ou de milliers d'appareils à faible consommation d'énergie et pour écrire des enregistrements dans un flux de données Kinesis. Ces EC2 instances doivent chacune écrire des milliers d'événements par seconde dans votre flux de données. Pour atteindre le débit nécessaire, les applications producteur doivent mettre en œuvre une logique complexe, telle que le traitement par lots ou multithreading, en plus d'une logique de nouvelle tentative et du dégroupement des enregistrements du côté consommateur. La KPL effectue toutes ces tâches à votre place.
- Facilité d'utilisation côté consommateur
-
Pour les développeurs côté consommateur qui utilisent la KCL en Java, la KPL s'intègre sans effort supplémentaire. Lorsque le KCL extrait un enregistrement Kinesis Data Streams agrégé composé de KPL plusieurs enregistrements utilisateur, il invoque automatiquement KPL le pour extraire les enregistrements utilisateur individuels avant de les renvoyer à l'utilisateur.
Pour les développeurs côté consommateur qui n'utilisent pas l'APIopération KCL mais l'utilisent
GetRecords
directement, une bibliothèque KPL Java est disponible pour extraire les enregistrements individuels des utilisateurs avant de les renvoyer à l'utilisateur. - Surveillance d'une application producteur
-
Vous pouvez collecter, surveiller et analyser vos producteurs de Kinesis Data Streams à l'aide d' CloudWatch Amazon et KPL du. Le KPL système émet des indicateurs de débit, d'erreur et d'autres indicateurs en votre CloudWatch nom, et est configurable pour être surveillé au niveau du flux, de la partition ou du producteur.
- Architecture asynchrone
-
Comme les enregistrements KPL peuvent être mis en mémoire tampon avant de les envoyer à Kinesis Data Streams, cela n'oblige pas l'application appelant à bloquer et à attendre la confirmation que l'enregistrement est arrivé sur le serveur avant de poursuivre l'exécution. Un appel pour placer un enregistrement dans la KPL renvoie toujours immédiatement une réponse et n'attend pas l'envoi de l'enregistrement ou une réponse reçue du serveur. En revanche, un objet
Future
est créé, qui reçoit le résultat de l'envoi ultérieur de l'enregistrement à Kinesis Data Streams. Ce comportement est identique à celui des clients asynchrones dans le. AWS SDK
Sachez quand ne pas utiliser le KPL
La KPL peut subir un délai de traitement supplémentaire allant jusqu'à RecordMaxBufferedTime
dans la bibliothèque (configurable par l'utilisateur). Les valeurs élevées de RecordMaxBufferedTime
se traduisent par une efficacité de compression supérieure et de meilleures performances. Les applications qui ne peuvent pas tolérer ce délai supplémentaire devront peut-être utiliser AWS SDK directement le. Pour plus d'informations sur l'utilisation AWS SDK avec Kinesis Data Streams, Développez les producteurs en utilisant Amazon Kinesis Data API Streams avec AWS SDK for Java consultez. Pour plus d'informations sur RecordMaxBufferedTime
et les autres propriétés configurables par l'utilisateur de la KPL, consultez Configuration de la bibliothèque Kinesis Producer.