Configuration d’un conteneur Kafka local pour une application Spring Boot

Dans l’architecture microservices et pilotée par les événements d’aujourd’hui, Apache Kafka est la norme pour les applications de streaming. Cependant, configurer Kafka pour le développement local en conjonction avec votre application Spring Boot peut être délicat, surtout lorsqu’il s’agit de le faire fonctionner localement.

L’application Spring Boot offre un support pour l’intégration de Kafka via le paquet maven spring-kafka. Pour travailler avec spring-kafka, nous devons nous connecter à l’instance Kafka. En général, pendant le développement, nous exécuterions simplement une instance Kafka locale et nous construirions contre celle-ci. Mais avec Docker Desktop et les conteneurs, les choses sont beaucoup plus faciles à configurer que de faire fonctionner une instance Kafka locale. Cet article nous guide à travers les étapes pour configurer le conteneur Kafka local avec l’application Spring Boot.

Prérequis

  1. Nous devons installer Docker Desktop. Pour ce faire, nous pouvons nous référer à cet article.
  2. L’application Spring Boot avec le paquet spring-kafka configuré.

Exécution du conteneur Kafka

Pour exécuter le conteneur Kafka, nous allons d’abord utiliser le fichier docker-compose suivant :

YAML

 

Ce fichier docker-compose contient les configurations pour tirer le conteneur Kafka et sa dépendance, le conteneur Zookeeper. Zookeeper gère les nœuds de courtier Kafka dans le cluster ; nous pouvons trouver plus de détails à ce sujet dans cet article.

Pour enregistrer les conteneurs avec Docker Desktop, nous utiliserons la commande suivante :

PowerShell

 

Cela téléchargera les images nécessaires et lancera les conteneurs, et une fois les conteneurs lancés, vous pourrez voir les conteneurs dans Docker Desktop comme ci-dessous :

Maintenant que le conteneur Kafka est opérationnel, nous pouvons créer les sujets nécessaires en utilisant la console de Docker Desktop avec la commande suivante :

PowerShell

 

Maintenant que le conteneur est opérationnel et que les prérequis nécessaires ont été réalisés, nous pouvons lancer l’application Spring Boot. Pour l’application Spring Boot, configurez l’adresse de bootstrap Kafka comme ci-dessous :

Properties files

 

Lorsque nous lançons l’application Spring Boot, nous devrions voir les journaux de connexion avec Kafka, selon le type d’application Spring Boot, qu’il s’agisse d’un producteur ou d’un consommateur.

En suivant les étapes décrites dans l’article, nous avons configuré un environnement de développement local en utilisant un conteneur Kafka et une application Spring Boot.

Source:
https://dzone.com/articles/setting-up-local-kafka-container-for-spring-boot-application