Overview
En esta guía, puede aprender sobre los flujos de cambio y cómo se utilizan en un conector de origen MongoDB Kafka.
Flujos de cambio
Los flujos de cambios son una función de MongoDB que permite recibir actualizaciones en tiempo real sobre los cambios en los datos. Los flujos de cambios devuelven documentos de eventos de cambio.
Un documento de evento de cambio contiene instrucciones idempotentes para describir un cambio ocurrido en su implementación de MongoDB y los metadatos relacionados con dicho cambio. Los documentos de evento de cambio se generan a partir de los datos en oplog.
Importante
Los flujos de cambio solo se ejecutan en conjuntos de réplicas de MongoDB y clústeres fragmentados
Una instancia independiente de MongoDB no puede producir un flujo de cambios.
Para ver una lista de todas las opciones de configuración para los flujos de cambio, consulte la Cambiar la páginaPropiedades de la transmisión.
Para obtener más información sobre los flujos de cambio, consulte los siguientes recursos:
Flujos de cambios en el manual de MongoDB
Una introducción a la entrada del blogChange Streams
Para obtener más información sobre el registro de operaciones, consulte la entrada del manual de MongoDB sobre el registro de operaciones del conjunto de réplicas.
Agregación
Utilice una canalización de agregación para configurar el flujo de cambios de su conector de origen. Puede configurar un flujo de cambios de conector para que utilice una canalización de agregación y realice tareas como las siguientes:
Filtrar eventos de cambio por tipo de operación
Campos específicos del proyecto
Actualizar el valor de los campos
Agregar campos
Recortar la cantidad de datos generados por el flujo de cambios
Para saber qué operadores de agregación puede utilizar con un flujo de cambios, consulte la guía Modificar salida de flujo de cambios en el manual de MongoDB.
Para ver ejemplos que utilizan una canalización de agregación para modificar un flujo de cambios, consulte las siguientes páginas:
Ejemplo de uso parapersonalizar una canalización para filtrar eventos de cambio
Estructura del evento de cambio
Encuentre la estructura completa de los documentos de eventos de cambio, incluidas las descripciones de todos los campos, en el manual de MongoDB.
Nota
La opción de documento completo
Si desea que Kafka Connect reciba únicamente el documento creado o modificado a partir de su operación de cambio, utilice el publish.full.document.only=true
Opción. Para obtener más información, consulte la página Cambiar propiedades de flujo.
Rendimiento
El registro de operaciones es una colección limitada especial que no puede usar índices. Para obtener más información sobre esta limitación, consulte las Recomendaciones de producción de flujos de cambios.
Si desea mejorar el rendimiento del flujo de cambios, utilice un disco más rápido para su clúster de MongoDB y aumente el tamaño de la caché de WiredTiger. Para saber cómo configurar la caché de WiredTiger, consulte la guía sobre el motor de almacenamiento de WiredTiger.
Conectores de fuente
El conector de origen abre un único flujo de cambios con MongoDB y envía datos desde ese flujo de cambios a Kafka Connect. El conector de origen mantiene su flujo de cambios durante su tiempo de ejecución y el conector cierra su flujo de cambios cuando lo detienes.
Para ver las opciones disponibles para configurar el flujo de cambios de su conector de origen, consulte la página Propiedades del flujo de cambios.
Tokens de reanudación
Su conector utiliza un token de reanudación como desplazamiento. Un desplazamiento es un valor que su conector almacena en un tema de Apache Kafka para realizar un seguimiento de los datos de origen que ha procesado. Su conector utiliza este valor de desplazamiento cuando debe recuperarse de un reinicio o un fallo. Un token de reanudación es un dato que hace referencia al _id campo de un documento de evento de cambio en su registro de operaciones de MongoDB.
Si el conector de origen no tiene un desplazamiento, como al iniciarlo por primera vez, este inicia un nuevo flujo de cambios. Una vez que el conector recibe su primer documento de evento de cambio y lo publica en Apache Kafka, almacena el token de reanudación de ese documento como desplazamiento.
Si el valor del token de reanudación del desplazamiento de su conector de origen no coincide con ninguna entrada en el registro de operaciones de su implementación de MongoDB, su conector tiene un token de reanudación no válido. Para saber cómo recuperarse de un token de reanudación no válido, consulte la guía de solución de problemas de tokens no válidos.
Para aprender más sobre los tokens de reanudación, consulta los siguientes recursos:
Reanudar un flujo de cambios en el manual de MongoDB
Eventos de cambio en el manual de MongoDB
Para obtener más información sobre las compensaciones, consulte los siguientes recursos:
Documentación de la opción deconfiguración de Kafka Connect
offset.storage.topicDocumentación de la API deKafka Connect
OffsetStorageReader