Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Use la biblioteca de clientes de Kinesis (KCL) para procesar las transmisiones de Amazon Keyspaces
En este tema se describe cómo usar la biblioteca cliente de Kinesis (KCL) para consumir y procesar los datos de las transmisiones de captura de datos cambiados (CDC) de Amazon Keyspaces.
En lugar de trabajar directamente con la API Amazon Keyspaces Streams, trabajar con la biblioteca de clientes de Kinesis (KCL) ofrece muchas ventajas, por ejemplo:
-
El seguimiento del linaje de fragmentos y el manejo de iteradores integrados.
-
Equilibrio de carga automático entre los trabajadores.
-
Tolerancia a los fallos y recuperación ante los fallos de los trabajadores.
-
Controle los puntos para realizar un seguimiento del progreso del procesamiento.
-
Adaptación a los cambios en la capacidad de los arroyos.
-
Computación distribuida simplificada para procesar los registros de los CDC.
La siguiente sección describe por qué y cómo usar la biblioteca cliente de Kinesis (KCL) para procesar las transmisiones y proporciona un ejemplo de cómo procesar una transmisión de los CDC de Amazon Keyspaces con la KCL.
Para obtener información sobre precios, consulte Precios de Amazon Keyspaces (para Apache Cassandra)
¿Qué es Kinesis Client Library?
La biblioteca cliente de Kinesis (KCL) es una biblioteca de software Java independiente diseñada para simplificar el proceso de consumo y procesamiento de datos de las transmisiones. KCL gestiona muchas de las complejas tareas asociadas a la computación distribuida, lo que le permite centrarse en implementar la lógica empresarial al procesar los datos de streaming. KCL gestiona actividades como el equilibrio de carga entre varios trabajadores, la respuesta a los errores de los trabajadores, la comprobación de los registros procesados y la respuesta a los cambios en la cantidad de fragmentos del flujo.
Para procesar las transmisiones de los CDC de Amazon Keyspaces, puede usar los patrones de diseño que se encuentran en la KCL para trabajar con fragmentos y registros de transmisiones. KCL simplifica la codificación porque proporciona abstracciones útiles por encima del API de bajo nivel de Kinesis Data Streams. Para obtener más información sobre la KCL, consulte Desarrollar consumidores con KCL en la guía para desarrolladores de Amazon Kinesis Data Streams.
Para escribir aplicaciones con la KCL, utilice el adaptador Amazon Keyspaces Streams Kinesis. El adaptador Kinesis implementa la interfaz de Kinesis Data Streams para que pueda usar la KCL para consumir y procesar los registros de las transmisiones de Amazon Keyspaces. Para obtener instrucciones sobre cómo configurar e instalar el adaptador Kinesis de Amazon Keyspaces Streams, visite el repositorio. GitHub
El siguiente diagrama muestra cómo interactúan estas bibliotecas entre sí.
KCL se actualiza con frecuencia para incorporar versiones más recientes de las bibliotecas subyacentes, mejoras de seguridad y correcciones de errores. Recomendamos utilizar la versión más reciente de KCL para evitar los problemas ya conocidos y beneficiarse de las mejoras actuales. Para encontrar la versión más reciente de KCL, consulte el repositorio de KCL. GitHub
Conceptos de KCL
Antes de implementar una aplicación de consumo mediante KCL, debe comprender los siguientes conceptos:
- Aplicación para consumidores de KCL
-
Una aplicación para consumidores de KCL es un programa que procesa datos de una transmisión de CDC de Amazon Keyspaces. La KCL actúa como intermediaria entre el código de su solicitud de consumidor y la transmisión de los CDC de Amazon Keyspaces.
- Trabajador
-
Un trabajador es una unidad de ejecución de su aplicación para consumidores de KCL que procesa los datos de la transmisión de CDC de Amazon Keyspaces. Su aplicación puede ejecutar a varios trabajadores distribuidos en varias instancias.
- Procesador de registros
-
Un procesador de registros es la lógica de la aplicación que procesa los datos de un fragmento de la transmisión CDC de Amazon Keyspaces. Un trabajador crea una instancia de un procesador de registros para cada fragmento que administra.
- Arrendar
-
Un arrendamiento representa la responsabilidad de procesamiento de un fragmento. Los trabajadores utilizan los contratos de arrendamiento para coordinar qué trabajador procesa qué fragmento. KCL almacena los datos de arrendamiento en una tabla de Amazon DynamoDB.
- Checkpoint
-
Un punto de control es un registro de la posición en la partición en la que el procesador de registros ha procesado correctamente los registros. Checkpoint permite que su solicitud reanude el procesamiento desde el punto en el que se dejó si un trabajador fracasa.
Con el adaptador Kinesis de Amazon Keyspaces instalado, puede empezar a desarrollar con la interfaz KCL, con las llamadas a la API dirigidas sin problemas al punto final de transmisión de Amazon Keyspaces. Para obtener una lista de los puntos de conexión disponibles, consulte Cómo acceder a los puntos de conexión de transmisión de los CDC en Amazon Keyspaces.
Cuando se inicia la aplicación, llama a KCL para crear una instancia de un proceso de trabajo. Debe proporcionar al trabajador la información de configuración de la aplicación, como el descriptor de la transmisión y AWS las credenciales, y el nombre de la clase de procesador de registros que proporcione. A medida que el proceso de trabajo ejecuta el código en el procesador de registros, lleva a cabo las siguientes tareas:
-
Se conecta a la secuencia
-
Enumera las particiones del flujo.
-
Coordina la asociación de los fragmentos con otros procesos de trabajo (si procede)
-
Crea instancias de un procesador de registros para cada fragmento que administra
-
Extrae registros del flujo.
-
Inserta los registros en el procesador de registros correspondiente
-
Genera puntos de comprobación para los registros procesados
-
Balancea las asociaciones entre fragmentos y procesos de trabajo cuando cambia el recuento de instancias de procesos de trabajo
-
Equilibra las asociaciones entre particiones y procesos de trabajo cuando las particiones se dividen.