Conceptos de KCL - Amazon Kinesis Data Streams

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.

Conceptos de KCL

En esta sección se explican los conceptos básicos y las interacciones de Kinesis Client Library (KCL). Estos conceptos son esenciales para desarrollar y administrar las aplicaciones de consumo de KCL.

  • Aplicación de consumo de KCL: una aplicación creada a medida y diseñada para leer y procesar registros de flujos de datos de Kinesis mediante Kinesis Client Library.

  • Proceso de trabajo: las aplicaciones de consumo de KCL suelen estar distribuidas, y uno o más procesos de trabajo se ejecutan simultáneamente. KCL coordina los procesos de trabajo para que consuman los datos del flujo de manera distribuida y equilibra la carga de manera uniforme entre varios procesos de trabajo.

  • Programador: clase de alto nivel que utiliza un proceso de trabajo de KCL para empezar a procesar datos. Cada proceso de trabajo de KCL tiene un programador. El programador inicializa y supervisa diversas tareas, como la sincronización de la información sobre las particiones de los flujos de datos de Kinesis, el seguimiento de las asignaciones de las particiones entre los procesos de trabajo y el procesamiento de los datos desde el flujo según las particiones asignadas al proceso de trabajo. El programador puede adoptar diversas configuraciones que afectan al comportamiento de este, como el nombre del flujo que se va a procesar y las credenciales de AWS , El programador inicia la entrega de los registros de datos del flujo a los procesadores de registros.

  • Procesador de registros: define la lógica de la forma en que su aplicación de consumo de KCL procesa los datos que obtiene de los flujos de datos. Debe implementar su propia lógica de procesamiento de datos personalizada en el procesador de registros. Un proceso de trabajo de KCL crea una instancia de un programador. Luego, el programador crea una instancia de un procesador de registros por cada partición que mantiene un arrendamiento. Un proceso de trabajo puede ejecutar varios procesadores de registros.

  • Arrendamiento: define la asignación entre un proceso de trabajo y una partición. Las aplicaciones de consumo de KCL utilizan los arrendamientos para dividir el procesamiento de registro de datos entre varios procesos de trabajo. Cada partición está vinculada a un solo proceso de trabajo mediante un arrendamiento en un momento dado y cada proceso de trabajo puede mantener uno o más arrendamientos simultáneamente. Cuando un proceso de trabajo deja de mantener un arrendamiento debido a que se detuvo o ocurrió un error, KCL asigna a otro para que se quede con el arrendamiento. Para obtener más información sobre el arrendamiento, consulte la Documentación de Github: Lease Lifecycle.

  • Tabla de arrendamiento: es una tabla exclusiva de Amazon DynamoDB que se utiliza para realizar un seguimiento de todos los arrendamientos de la aplicación de consumo de KCL. Cada aplicación de consumo de KCL crea su propia tabla de arrendamiento. La tabla de arrendamiento se utiliza para mantener el estado de todos los procesos de trabajo y coordinar el procesamiento de los datos. Para obtener más información, consulte Tablas de metadatos de DynamoDB y equilibrio de carga en KCL.

  • Registro de puntos de control: es el proceso de almacenar de forma persistente en una partición la posición del último registro procesado correctamente. KCL administra el registro de puntos de control para garantizar que el procesamiento se pueda reanudar desde la última posición del punto de control en caso de que un proceso de trabajo falle o se reinicie la aplicación. Los puntos de control se almacenan en la tabla de arrendamiento de DynamoDB como parte de los metadatos del arrendamiento. Esto permite a los procesos de trabajo continuar procesando desde donde se detuvo el proceso de trabajo anterior.