Utiliser la bibliothèque client Kinesis (KCL) pour traiter les flux Amazon Keyspaces - Amazon Keyspaces (pour Apache Cassandra)

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 client Kinesis (KCL) pour traiter les flux Amazon Keyspaces

Cette rubrique explique comment utiliser la bibliothèque client Kinesis (KCL) pour consommer et traiter les données issues des flux de capture des données de modification (CDC) 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 travailleurs.

  • Tolérance aux pannes et reprise après les défaillances des travailleurs.

  • Pointage de points de contrôle pour suivre la progression du traitement.

  • Adaptation aux changements de capacité du cours d'eau.

  • Informatique distribuée simplifiée pour le traitement des enregistrements du CDC.

La section suivante explique pourquoi et comment utiliser la bibliothèque client Kinesis (KCL) pour traiter des flux et fournit un exemple de traitement d'un flux CDC Amazon Keyspaces avec la KCL.

Pour plus d'informations sur les tarifs, consultez les tarifs d'Amazon Keyspaces (pour Apache Cassandra).

Qu'est-ce que Kinesis Client Library ?

La Kinesis Client Library (KCL) est une bibliothèque logicielle Java autonome conçue pour simplifier le processus de consommation et de traitement des données issues des 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 aux modifications du nombre de partitions dans le flux.

Pour traiter les flux CDC d'Amazon Keyspaces, vous pouvez utiliser les modèles de conception trouvés 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, consultez la section Develop consumers with KCL dans le manuel Amazon Kinesis Data Streams Developer Guide.

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 la KCL pour consommer et traiter des enregistrements provenant de flux Amazon Keyspaces. Pour obtenir des instructions sur la configuration et l'installation de l'adaptateur Amazon Keyspaces Streams Kinesis, consultez le référentiel. GitHub

Le schéma suivant montre comment ces bibliothèques interagissent les unes avec les autres.

Interaction entre les applications d'un client et Kinesis Data Streams, KCL, l'adaptateur Amazon Keyspaces Streams Kinesis et Amazon Keyspaces APIs lors du traitement des enregistrements de flux Amazon Keyspaces CDC.

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 de toutes les dernières améliorations. Pour trouver la dernière version de KCL, consultez le référentiel KCL GitHub .

Concepts du KCL

Avant d'implémenter une application grand public à l'aide de KCL, vous devez comprendre les concepts suivants :

Application KCL destinée aux consommateurs

Une application client KCL est un programme qui traite les données d'un flux Amazon Keyspaces CDC. Le KCL sert 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 CDC Amazon Keyspaces. Votre application peut exécuter plusieurs travailleurs répartis sur plusieurs instances.

Processeur d'enregistrement

Un processeur d'enregistrements est la logique de votre application qui traite les données d'une partition dans le flux CDC d'Amazon Keyspaces. Un processeur d'enregistrements est instancié par un travailleur pour chaque partition qu'il gère.

Bail

Un bail représente la responsabilité du traitement d'une partition. Les travailleurs utilisent les baux pour coordonner quel travailleur traite quel fragment. KCL stocke les données de location dans un tableau dans Amazon Keyspaces.

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é avec succès les enregistrements. Le point de contrôle permet à votre demande 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 à partir de l'interface KCL, les appels d'API étant directement dirigés vers le point de terminaison du stream Amazon Keyspaces. Pour obtenir la liste des points de terminaison disponibles, reportez-vous à la section Comment accéder aux points de terminaison CDC Stream dans Amazon Keyspaces.

Lorsque votre application démarre, elle appelle la KCL pour instancier un employé. 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 d'une classe de processeur d'enregistrements que vous fournissez. À mesure qu'il exécute le code dans le processeur de registres, l'employé 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 registres du flux.

  • Pousse les enregistrements sur le processeur d'enregistrements correspondant

  • Contrôle les enregistrements traités

  • Equilibre les associations partition-travail lorsque le nombre d'instances de travail change

  • Équilibre les associations partition-worker quand des partitions sont fractionnées.