Kafka Connect est l'outil privilégié pour l'intégration de données pour les développeurs Kafka. Il fournit un framework permettant de connecter Kafka à des systèmes externes tels que des bases de données, des files d'attente de messages et des systèmes de fichiers.
Kafka Connect fournit un ensemble organisé de plug-ins de connecteur intégrés, testés et gérés par Google Cloud. Ces plug-ins de connecteur sont automatiquement corrigés et mis à niveau, ce qui simplifie la maintenance et assure la compatibilité.Google Cloud fournit également une surveillance et une journalisation intégrées pour maintenir l'intégrité de vos pipelines.
Les API Kafka Connect sont proposées dans le service Google Cloud Managed Service pour Apache Kafka. Ces API sont accessibles via managedkafka.googleapis.com et sont intégrées à la console Google Cloud et aux bibliothèques clientes. Pour gérer Kafka Connect, vous pouvez utiliser la console Google Cloud , la gcloud CLI, l'API Managed Kafka, les bibliothèques clientes cloud ou Terraform.
Cas d'utilisation de Kafka Connect
Kafka Connect permet d'intégrer des données entre votre cluster Managed Service pour Apache Kafka et divers autres systèmes. Voici quelques cas d'utilisation clés :
Migrez vos déploiements Kafka existants vers Managed Service pour Apache Kafka.
Répliquez votre cluster Managed Service pour Apache Kafka dans une autre région pour la reprise après sinistre.
Transférez des données de Managed Service pour Apache Kafka vers BigQuery, Cloud Storage ou Pub/Sub.
Clusters Connect
Un cluster Connect est un déploiement distribué de Kafka Connect avec des configurations et des plug-ins de connecteur prédéfinis. Chaque cluster Connect est associé à un cluster Managed Service pour Apache Kafka principal. Ce cluster principal stocke l'état des connecteurs exécutés sur le cluster Connect.
En règle générale, le cluster Managed Service pour Apache Kafka principal sert également de cible pour tous les connecteurs sources et de source pour tous les connecteurs cibles s'exécutant sur le cluster Connect associé.
Un même cluster Managed Service pour Apache Kafka peut comporter plusieurs clusters Connect. Si vous exécutez MirrorMaker 2.0, un cluster Connect peut se connecter à des clusters Managed Service pour Apache Kafka non principaux ou à des clusters Kafka autogérés pour lire ou écrire des données de sujet. Ce processus permet la réplication des sujets entre différents clusters.
Du point de vue du modèle de ressources, un cluster Connect est une ressource distincte d'un cluster Managed Service pour Apache Kafka.
Supposons que vous disposiez d'un cluster Managed Service pour Apache Kafka dans lequel vous stockez les données de trafic du site Web. Vous souhaitez diffuser ces données dans BigQuery pour les analyser. Vous pouvez créer un cluster Connect et utiliser un connecteur de récepteur BigQuery pour transférer les données de vos sujets Kafka vers BigQuery. Ce cluster Connect est associé à votre cluster Managed Service pour Apache Kafka en tant que cluster principal.
Connecteurs
Les connecteurs sont les composants logiciels qui transfèrent les données entre votre cluster Kafka et d'autres systèmes.
Un connecteur source écrit les données d'une source dans un cluster Managed Service pour Apache Kafka.
Un connecteur de récepteur écrit les données d'un cluster Managed Service pour Apache Kafka dans un récepteur.
Un connecteur est déployé, configuré et géré dans le cluster Connect. Vous pouvez le démarrer, l'arrêter, le mettre en veille, le redémarrer et mettre à jour sa configuration.
Pour en savoir plus sur les types de connecteurs compatibles avec Managed Service pour Apache Kafka, consultez Présentation des connecteurs.
Gérer Kafka Connect
Avec Kafka Connect, vous pouvez vous concentrer sur le déploiement de connecteurs, tandis que Managed Service pour Apache Kafka gère l'infrastructure sous-jacente et les complexités opérationnelles.
Le service Kafka Connect automatise les opérations suivantes :
Provisionnement des nœuds de calcul Kafka Connect : lorsque vous créez un cluster Connect, le service Kafka Connect provisionne automatiquement un cluster de nœuds de calcul dans Kubernetes.
Mise en réseau : le service Kafka Connect configure le réseau pour permettre la communication entre les nœuds de calcul, les brokers Managed Service pour Apache Kafka et les systèmes externes. Dans certains cas, vous devrez peut-être modifier vos paramètres réseau existants.
Résilience zonale : le service Kafka Connect distribue les nœuds de calcul sur au moins trois zones, ce qui permet de poursuivre le traitement des données en cas de panne zonale.
Authentification : le service Kafka Connect configure également l'authentification avec les agents Kafka, ce qui garantit des connexions sécurisées.
Déploiements et mises à niveau : le service Kafka Connect gère les modifications de configuration des nœuds de calcul, les mises à niveau de version et les correctifs de sécurité, ce qui garantit que vos déploiements sont toujours à jour.
Dans le service Kafka Connect, vous pouvez effectuer les configurations suivantes :
Contraintes de capacité et de réseau : définissez des limites de ressources et des configurations réseau pour optimiser les performances et les coûts.
Surveillance et journalisation : accédez aux journaux et aux métriques de vos connecteurs pour surveiller les performances et résoudre les problèmes.
Gestion du cycle de vie des connecteurs : mettez en pause, reprenez, redémarrez ou arrêtez les connecteurs selon vos besoins pour gérer vos pipelines de données.
Limites
Le cluster Kafka principal doit être un cluster Managed Service pour Apache Kafka. Le cluster principal est celui dans lequel le cluster Kafka Connect écrit ses métadonnées.
Vous ne pouvez pas importer de plug-ins de connecteurs personnalisés dans votre cluster Kafka Connect.
Le service n'est pas compatible avec la validation par rapport à un schéma distant à l'aide du registre de schémas.