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.
Utiliser la bibliothèque cliente Kinesis (KCL) pour traiter les flux Amazon Keyspaces
Cette rubrique explique comment utiliser la bibliothèque cliente Kinesis (KCL) pour consommer et traiter les données issues des flux CDC (Change Data Capture) d'Amazon Keyspaces.
Au lieu de travailler directement avec l'API Amazon Keyspaces Streams, l'utilisation de la bibliothèque client Kinesis (KCL) offre de nombreux avantages, par exemple :
-
Suivi du lignage des fragments et gestion des itérateurs intégrés.
-
Équilibrage automatique de la charge entre les employés.
-
Tolérance aux pannes et reprise en cas de défaillance du personnel.
-
Points de contrôle pour suivre la progression du traitement.
-
Adaptation à l'évolution de la capacité des cours d'eau.
-
Informatique distribuée simplifiée pour le traitement des dossiers du CDC.
La section suivante explique pourquoi et comment utiliser la bibliothèque cliente Kinesis (KCL) pour traiter des flux et fournit un exemple de traitement d'un flux Amazon Keyspaces CDC avec la KCL.
Pour plus d'informations sur les tarifs, consultez la rubrique Tarification d'Amazon Keyspaces (pour Apache Cassandra).
Qu'est-ce que Kinesis Client Library ?
La bibliothèque cliente Kinesis (KCL) est une bibliothèque logicielle Java autonome conçue pour simplifier le processus de consommation et de traitement des données provenant de flux. KCL gère de nombreuses tâches complexes associées à l'informatique distribuée, ce qui vous permet de vous concentrer sur la mise en œuvre de votre logique métier lors du traitement des données de flux. KCL gère des activités telles que l'équilibrage de charge entre plusieurs travailleurs, la réponse aux défaillances des travailleurs, le contrôle des enregistrements traités et la réponse à l'évolution du nombre de partitions dans le flux.
Pour traiter les flux CDC d'Amazon Keyspaces, vous pouvez utiliser les modèles de conception contenus dans la KCL pour travailler avec des fragments de flux et des enregistrements de flux. La KCL simplifie le codage en fournissant des abstractions utiles par-dessus l’API Kinesis Data Streams de bas niveau. Pour plus d'informations sur la KCL, voir Développer les consommateurs avec KCL dans le guide du développeur Amazon Kinesis Data Streams.
Pour écrire des applications à l'aide de la KCL, vous utilisez l'adaptateur Amazon Keyspaces Streams Kinesis. L'adaptateur Kinesis implémente l'interface Kinesis Data Streams afin que vous puissiez utiliser le KCL pour consommer et traiter des enregistrements provenant des flux Amazon Keyspaces. Pour obtenir des instructions sur la configuration et l'installation de l'adaptateur Kinesis Amazon Keyspaces Streams, consultez le GitHub
Le schéma suivant montre comment ces bibliothèques interagissent les unes avec les autres.
KCL est fréquemment mis à jour pour intégrer de nouvelles versions des bibliothèques sous-jacentes, des améliorations de sécurité et des corrections de bogues. Nous vous recommandons d'utiliser la dernière version de KCL pour éviter les problèmes connus et bénéficier des dernières améliorations. Pour trouver la dernière version de KCL, consultez le référentiel KCL GitHub .
Concepts de KCL
Avant de mettre en œuvre une application grand public à l'aide de KCL, vous devez comprendre les concepts suivants :
- Application KCL destinée aux consommateurs
-
Une application grand public KCL est un programme qui traite les données d'un flux Amazon Keyspaces CDC. Le KCL fait office d'intermédiaire entre le code de votre application client et le flux Amazon Keyspaces CDC.
- Travailleur
-
Un worker est une unité d'exécution de votre application client KCL qui traite les données du flux Amazon Keyspaces CDC. Votre application peut exécuter plusieurs workers répartis sur plusieurs instances.
- Processeur d'enregistrement
-
Un processeur d'enregistrement est la logique de votre application qui traite les données d'une partition dans le flux Amazon Keyspaces CDC. Un processeur d'enregistrement est instancié par un worker pour chaque partition qu'il gère.
- Bail
-
Un contrat de location représente la responsabilité du traitement d'un fragment. Les employés utilisent des contrats de location pour coordonner quel travailleur traite quel fragment. KCL stocke les données de location dans un tableau d'Amazon DynamoDB.
- Point de contrôle
-
Un point de contrôle est un enregistrement de la position dans la partition jusqu'à laquelle le processeur d'enregistrements a traité les enregistrements avec succès. Le point de contrôle permet à votre application de reprendre le traitement là où il s'était arrêté en cas d'échec d'un collaborateur.
Une fois l'adaptateur Amazon Keyspaces Kinesis en place, vous pouvez commencer à développer sur l'interface KCL, les appels d'API étant dirigés de manière fluide vers le point de terminaison du flux Amazon Keyspaces. Pour obtenir la liste des points de terminaison disponibles, reportez-vous à la section Comment accéder aux points de terminaison des flux CDC dans Amazon Keyspaces.
Lorsque votre application démarre, elle appelle la KCL pour instancier un worker. Vous devez fournir au travailleur les informations de configuration de l'application, telles que le descripteur de flux et les AWS informations d'identification, ainsi que le nom de la classe de processeur d'enregistrement que vous fournissez. À mesure qu’il exécute le code dans le processeur d’enregistrements, le worker effectue les tâches suivantes :
-
Se connecte au flux
-
Énumère les partitions dans le flux.
-
Coordonne les associations de partition avec les autres travaux (le cas échéant)
-
Instancie un processeur d’enregistrements pour chaque partition qu’il gère
-
Extrait des enregistrements du flux
-
Pousse les enregistrements sur le processeur d’enregistrements correspondant
-
Contrôle les enregistrements traités
-
Équilibre les associations partition-worker lorsque le nombre d’instances de worker change
-
Équilibre les associations partition-worker quand des partitions sont fractionnées