Kafka Connect es la herramienta preferida para la integración de datos para los desarrolladores de Kafka. Proporciona un framework para conectar Kafka con sistemas externos, como bases de datos, colas de mensajes y sistemas de archivos.
Kafka Connect proporciona un conjunto seleccionado de complementos de conectores integrados, verificados y mantenidos por Google Cloud. Estos complementos de conector se actualizan y se les aplican parches automáticamente, lo que simplifica el mantenimiento y garantiza la compatibilidad.Google Cloud también proporciona supervisión y registro integrados para mantener el buen estado de tus canalizaciones.
Las APIs de Kafka Connect se ofrecen como parte del servicio de Google Cloud Managed Service para Apache Kafka. Se puede acceder a estas APIs a través de managedkafka.googleapis.com y están integradas en la consola y las bibliotecas cliente de Google Cloud . Para administrar Kafka Connect, puedes usar la consola de Google Cloud , gcloud CLI, la API de Managed Kafka, las bibliotecas cliente de Cloud o Terraform.
Casos de uso de Kafka Connect
Kafka Connect admite la integración de datos entre tu clúster de Managed Service para Apache Kafka y otros sistemas. Estos son algunos casos de uso clave:
Migra tus implementaciones de Kafka existentes a Managed Service para Apache Kafka.
Replica tu clúster de Managed Service para Apache Kafka en otra región para la recuperación ante desastres.
Transmite datos desde Managed Service para Apache Kafka a BigQuery, Cloud Storage y Pub/Sub.
Clústeres de Connect
Un clúster de Connect es una implementación distribuida de Kafka Connect con complementos y parámetros de configuración de conectores empaquetados previamente. Cada clúster de Connect está asociado a un clúster principal de Managed Service para Apache Kafka. Este clúster principal almacena el estado de los conectores que se ejecutan en el clúster de Connect.
Por lo general, el clúster principal de Managed Service para Apache Kafka también funciona como destino para todos los conectores de origen y como fuente para todos los conectores receptores que se ejecutan en el clúster de Connect asociado.
Un solo clúster de Managed Service for Apache Kafka puede tener varios clústeres de Connect. Si ejecutas MirrorMaker 2.0, un clúster de Connect puede conectarse a clústeres secundarios de Managed Service para Apache Kafka o a clústeres de Kafka autoadministrados para leer o escribir datos de temas. Este proceso permite la replicación de temas entre diferentes clústeres.
Desde la perspectiva del modelo de recursos, un clúster de Connect es un recurso independiente de un clúster de Managed Service para Apache Kafka.
Supongamos que tienes un clúster de Managed Service para Apache Kafka en el que almacenas datos de tráfico del sitio web. Quieres transmitir estos datos a BigQuery para su análisis. Puedes crear un clúster de Connect y usar un conector de receptor de BigQuery para transferir los datos de tus temas de Kafka a BigQuery. Este clúster de Connect está asociado con tu clúster de Managed Service para Apache Kafka como su clúster principal.
Conectores
Los conectores son los componentes de software que transfieren datos entre tu clúster de Kafka y otros sistemas.
Un conector de origen escribe datos de una fuente en un clúster de Managed Service para Apache Kafka.
Un conector de receptor escribe datos desde un clúster de Managed Service para Apache Kafka en un receptor.
Un conector se implementa, configura y administra dentro del clúster de Connect. Se puede iniciar, detener, pausar, reiniciar y actualizar su configuración.
Para obtener más información sobre los tipos de conectores que admite Managed Service para Apache Kafka, consulta la descripción general de los conectores.
Administra Kafka Connect
Con Kafka Connect, puedes enfocarte en implementar conectores, mientras que Managed Service para Apache Kafka se encarga de la infraestructura subyacente y las complejidades operativas.
El servicio de Kafka Connect automatiza lo siguiente:
Aprovisionamiento de trabajadores de Kafka Connect: Cuando creas un clúster de Connect, el servicio de Kafka Connect aprovisiona automáticamente un clúster de trabajadores en Kubernetes.
Redes: El servicio de Kafka Connect configura la red para habilitar la comunicación entre los trabajadores, los agentes de Managed Service para Apache Kafka y los sistemas externos. En algunos casos, es posible que debas realizar algunos cambios en la configuración de red existente.
Resistencia zonal: El servicio de Kafka Connect distribuye los trabajadores en un mínimo de tres zonas, lo que garantiza que el procesamiento de datos pueda continuar en caso de una interrupción zonal.
Autenticación: El servicio de Kafka Connect también configura la autenticación con los agentes de Kafka, lo que garantiza conexiones seguras.
Lanzamientos y actualizaciones: El servicio de Kafka Connect administra los cambios en la configuración de los trabajadores, las actualizaciones de versiones y los parches de seguridad, lo que garantiza que tus implementaciones estén siempre actualizadas.
En el servicio de Kafka Connect, puedes realizar las siguientes configuraciones:
Restricciones de capacidad y red: Define límites de recursos y configuraciones de red para optimizar el rendimiento y el costo.
Supervisión y registro: Accede a los registros y las métricas de tus conectores para supervisar el rendimiento y solucionar problemas.
Administración del ciclo de vida de los conectores: Pausa, reanuda, reinicia o detén los conectores según sea necesario para administrar tus canalizaciones de datos.
Limitaciones
El clúster principal de Kafka debe ser un clúster de Managed Service para Apache Kafka. El clúster principal es aquel en el que el clúster de Kafka Connect escribe sus metadatos.
No puedes subir complementos de conectores personalizados a tu clúster de Kafka Connect.
El servicio no admite la validación en un esquema remoto con el Registro de esquemas.