Intégration du nuage confluent avec MuleSoft à l’aide du connecteur Kafka avec la configuration SASL/Plain - Mule 4
Dans un scénario réel, un écosystème est nécessaire pour servir à la fois les éditeurs de messages et les destinataires, facilitant l’envoi et la réception de messages par divers canaux. Cela peut être réalisé grâce à l’utilisation du modèle Éditeur-Abonné. Publish-Subscribe (Pub-Sub) est un modèle de conception architecturale utilisé dans les systèmes distribués pour permettre une communication asynchrone entre différents composants ou services.
Dans le cadre de cet article, nous établirons un flux ’de travail qui implique la publication de données sur un sujet spécifique et la création d’un flux d’abonnés qui écoute ces messages publiés. Une fois qu’un message a été lu et traité avec succès, l’abonné accuse réception.
Qu’est-ce que le modèle Pub-Sub?
Pub/Sub est une architecture axée sur les événements qui offre un cadre d’échange de messages entre les composants responsables de la création et de l’envoi de messages, appelés producteurs ou éditeurs, et les composants qui reçoivent et consomment des messages, appelés consommateurs ou abonnés. Dans ce modèle, les éditeurs envoient des messages à un sujet désigné (qui agit comme canal de messagerie), et les abonnés doivent s’abonner au sujet pertinent pour accéder aux messages publiés et les lire.
Qu’est-ce que Kafka?
Kafka est un système hautement distribué reconnu pour sa capacité à fournir un débit élevé et des performances exceptionnelles. Ce système à code source ouvert combine un système de messagerie Pub-Sub avec une file d’attente de messagerie robuste, ce qui le rend capable de gérer efficacement de grands volumes de données en continu, assurant ainsi qu’il se déplace de façon transparente de la source à la destination.
Exigences
- Studio Anypoint
- Connecteur Apache Kafka (version 4.7.x)
- Un compte en nuage Confluent actif
Configuration du nuage confluent
Assurez-vous d’avoir un compte Confluent Cloud actif. Pour cette démonstration, nous utiliserons un compte ’d’essai gratuit de Confluent. Après avoir créé le compte, créez un cluster dans Confluent Cloud. Créez des sujets au sein du groupe pour faciliter vos besoins en matière de messagerie.
- Sélectionnez le type de regroupement, la zone appropriée et nommez le regroupement.
- Créer un sujet.
- Nommez le sujet et sélectionnez le nombre de partitions.
- Créez une clé API, qui est requise pour connecter Mule au serveur Confluent.
- Copiez les identifiants de clé API, ou vous pouvez les télécharger sous forme de fichier.
- Récupérez les détails du point d'extrémité du cluster à partir des paramètres du cluster. (Le fichier téléchargé précédemment contient également les détails du serveur Boottrap.)
Configuration de l’application Mule
Maintenant, créez le projet dans Anypoint Studio pour tester la connectivité avec Confluent Cloud en utilisant les identifiants que nous avons générés.
- Créez un flux de mule simple qui publiera des messages sur un sujet.
- Créez un flux d’abonnés qui utilisera les événements du sujet, et si le message est traité avec succès, un engagement sera envoyé pour accuser réception à l’auditeur.
Produire la configuration
- Changer la connexion dans le menu déroulant Producteur SASL/Plain Connection.
- Configurez le serveur Bootstrap.
- Fournissez le nom d’utilisateur et le mot de passe de la clé API créée pour le cluster Kafka.
- Sous l'onglet Sécurité, définissez l'algorithme d'identification du point d'extrémité comme HTTPS et fournissez la configuration TLS ou définissez-le comme connexion non sécurisée.
- Testez la connexion.
Configuration du consommateur
- Changez la liste déroulante de connexion à Consumer SASL/Plain Connection.
- Configurez le serveur Bootstrap.
- Ajoutez l'ID de groupe si vous l'avez créé (facultatif).
- Dans la section Sujets, ajoutez les affectations – Sujet à écouter et le numéro de partition.
- Fournissez le nom d’utilisateur et le mot de passe de la clé API créée pour le cluster Kafka.
- Sous l'onglet Sécurité, définissez l'algorithme d'identification du point d'extrémité comme HTTPS et fournissez la configuration TLS.
Publier le connecteur
- Sélectionnez Configuration du ‘’ producteur dans le menu déroulant.
- Ajoutez le nom du sujet sur lequel vous souhaitez publier un événement.
- Choisissez le numéro de partition (champ optionnel, valeur par défaut = 1).
- Entrez la clé (facultatif) et le message.
Écoute de message
- Ajoutez le délai d’attente du sondage au besoin.
- Choisissez le mode d’accusé de réception :
- Manuel : Après avoir consommé des données avec succès, les utilisateurs doivent valider manuellement l’événement par l’intermédiaire de l’opération Valider. Pour s’engager, les utilisateurs doivent envoyer la clé d’engagement du ‘consommateur,’ qui est disponible dans les attributs après l’écoute.
- Automatique : Les messages Kafka s’engagent automatiquement si le flux de mule se termine avec succès.
- Immédiat : Une fois les messages reçus par le flux de Mule, Mule les engage immédiatement sans attendre que le flux soit terminé.
- DUPS_OK : Nommé ‘Manuel’, mais fonctionne de façon asynchrone, ce qui peut entraîner des doublons d’enregistrements.
- Précisez le nombre de consommateurs parallèles.
Une fois la configuration terminée, vos flux sont maintenant prêts à effectuer des opérations de publication-abonnement (pub/sous-marin).
Pour lancer le processus de publication, utilisez n’importe quel client REST pour déclencher le flux de publication avec la charge utile désirée. Cette action publiera les données sur le sujet spécifié tel que configuré, et dès la publication d’un événement sur le sujet, l’auditeur du message Kafka commencera immédiatement à écouter l’événement et le traitera par la suite.
Références
https://docs.mulesoft.com/kafka-connector/4.7/kafka-connector-reference
https://docs.mulesoft.com/kafka-connector/4.7/kafka-connector-upgrade-migrate
— Par Nilesh Dhongade