Overview
En esta guía, puede aprender la siguiente información fundamental sobre Apache Kafka y Kafka Connect:
¿Qué son Apache Kafka y Kafka Connect?
¿Qué problemas resuelven Apache Kafka y Kafka Connect?
Por qué son útiles Apache Kafka y Kafka Connect
Cómo se mueven los datos a través de un pipeline de Apache Kafka y Kafka Connect
Apache Kafka
Apache Kafka es un sistema de mensajería de código abierto de publicación/suscripción. Apache Kafka proporciona unsistema flexible, tolerante a fallos y escalable horizontalmente para transferir datos entre almacenes de datos y aplicaciones. Un sistema es tolerante a fallos si puede seguir funcionando incluso si algunos componentes dejan de funcionar. Un sistema es escalable horizontalmente si puede ampliarse para gestionar cargas de trabajo mayores añadiendo más máquinas en lugar de mejorar el hardware de una de ellas.
Para obtener más información sobre Apache Kafka, consulte los siguientes recursos:
Conexión Kafka
Kafka Connect es un componente de Apache Kafka que soluciona el problema de conectar Apache Kafka a almacenes de datos como MongoDB. Kafka Connect soluciona este problema proporcionando los siguientes recursos:
Un entorno de ejecución tolerante a fallos para transferir datos hacia y desde almacenes de datos.
Un marco para que la comunidad Apache Kafka comparta soluciones para conectar Apache Kafka a diferentes almacenes de datos.
El framework Kafka Connect define una API para que los desarrolladores creen conectores reutilizables. Los conectores permiten que las implementaciones de Kafka Connect interactúen con un almacén de datos específico como fuente o receptor de datos. El conector Kafka de MongoDB es uno de estos conectores.
Para obtener más información sobre Kafka Connect, consulte los siguientes recursos:
Documentación oficial de Apache Kafka, Guía de conexión de Kafka
Construyendo su primer conector para Kafka Connect desde Apache Software Foundation
Tip
Utilice Kafka Connect en lugar de clientes productores/consumidores al conectarse a almacenes de datos
Si bien podría crear su propia aplicación para conectar Apache Kafka a un almacén de datos específico mediante clientes productores y consumidores, Kafka Connect podría ser una mejor opción. Aquí tiene algunas razones para usar Kafka Connect:
Kafka Connect tiene una arquitectura distribuida tolerante a fallas para garantizar una canalización confiable.
Existe una gran cantidad de conectores gestionados por la comunidad para conectar Apache Kafka con almacenes de datos populares como MongoDB, PostgreSQL y MySQL mediante el framework Kafka Connect. Esto reduce la cantidad de código repetitivo que debe escribirse y mantenerse para gestionar las conexiones a bases de datos, la gestión de errores, la integración de colas de mensajes fallidos y otros problemas relacionados con la conexión de Apache Kafka con un almacén de datos.
Tiene la opción de utilizar un clúster de Kafka Connect administrado desde Confluent.
Diagrama
El siguiente diagrama muestra cómo fluye la información a través de una canalización de datos de ejemplo creada con Apache Kafka y Kafka Connect. La canalización de ejemplo utiliza un clúster MongoDB como origen y un clúster MongoDB como receptor de datos.

Todos los conectores y almacenes de datos del ejemplo son opcionales. Puede reemplazarlos con los conectores y almacenes de datos que necesite para su implementación.