Utilice la biblioteca de clientes de Kinesis (KCL) para procesar las transmisiones de Amazon Keyspaces - Amazon Keyspaces (para Apache Cassandra)

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.

Utilice la biblioteca de clientes de Kinesis (KCL) para procesar las transmisiones de Amazon Keyspaces

En este tema se describe cómo utilizar la biblioteca de clientes de Kinesis (KCL) para consumir y procesar datos de las transmisiones de captura de datos de cambios (CDC) de Amazon Keyspaces.

En lugar de trabajar directamente con la API Streams de Amazon Keyspaces, 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 están integrados.

  • Equilibrio de carga automático entre los trabajadores.

  • Tolerancia a las fallas y recuperación de las fallas de los trabajadores.

  • Puntos de control 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.

En la siguiente sección se explica por qué y cómo utilizar la biblioteca de clientes de Kinesis (KCL) para procesar transmisiones y se proporciona un ejemplo de cómo procesar una transmisión 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 de clientes 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 tareas complejas asociadas a la informática distribuida, lo que le permite centrarse en implementar la lógica empresarial al procesar los datos de las transmisiones. KCL gestiona actividades como equilibrar la carga entre varios trabajadores, responder a las fallas de los trabajadores, controlar los registros procesados y responder a los cambios en la cantidad de fragmentos de la transmisión.

Para procesar las transmisiones CDC de Amazon Keyspaces, puede utilizar 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 la 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 Kinesis Data Streams para que pueda utilizar la KCL para consumir y procesar registros de las transmisiones de Amazon Keyspaces. Para obtener instrucciones sobre cómo configurar e instalar el adaptador Amazon Keyspaces Streams Kinesis, visite el repositorio. GitHub

El siguiente diagrama muestra cómo interactúan estas bibliotecas entre sí.

Interacción entre las aplicaciones de un cliente y Kinesis Data Streams, KCL, el adaptador Amazon Keyspaces Streams Kinesis Adapter y Amazon Keyspaces APIs al procesar los registros de transmisiones de Amazon Keyspaces CDC.

KCL se actualiza con frecuencia para incorporar versiones más recientes de las bibliotecas subyacentes, mejoras de seguridad y correcciones de errores. Le recomendamos que utilice la versión más reciente de KCL para evitar problemas conocidos y beneficiarse de las mejoras más recientes. Para encontrar la versión más reciente de KCL, consulte el repositorio de GitHub KCL.

Conceptos de KCL

Antes de implementar una aplicación de consumo mediante KCL, debe comprender los siguientes conceptos:

Aplicación KCL para consumidores

Una aplicación para consumidores de KCL es un programa que procesa datos de una transmisión CDC de Amazon Keyspaces. La KCL actúa como intermediaria entre el código de tu aplicación de consumidor y la transmisión CDC de Amazon Keyspaces.

Trabajador

Un trabajador es una unidad de ejecución de su aplicación de consumo de KCL que procesa datos de la transmisión CDC de Amazon Keyspaces. Su aplicación puede ejecutar varios trabajadores distribuidos en varias instancias.

Procesador de registros

Un procesador de registros es la lógica de su 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.

Arrendamiento

Un arrendamiento representa la responsabilidad de procesar 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 del fragmento hasta la que el procesador de registros ha procesado correctamente los registros. Los puntos de control permiten que su solicitud reanude el procesamiento desde donde lo dejó en caso de que un trabajador no lo logre.

Con el adaptador Amazon Keyspaces Kinesis instalado, puede empezar a desarrollar en la interfaz KCL, con las llamadas a la API dirigidas sin problemas al punto de conexión 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 enlace 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.