Einrichten eines lokalen Kafka-Containers für die Spring Boot-Anwendung

In der heutigen Microservices- und ereignisgesteuerten Architektur ist Apache Kafka der De-facto-Standard für Streaming-Anwendungen. Die Einrichtung von Kafka für die lokale Entwicklung in Verbindung mit Ihrer Spring Boot-Anwendung kann jedoch knifflig sein, insbesondere wenn es darum geht, es lokal auszuführen.

Die Spring-Kafka Maven-Bibliothek bietet Unterstützung für die Kafka-Integration. Um mit Spring-Kafka zu arbeiten, müssen wir eine Verbindung zur Kafka-Instanz herstellen. Typischerweise würden wir während der Entwicklung einfach eine lokale Kafka-Instanz ausführen und diese verwenden. Aber mit Docker Desktop und Containern ist die Einrichtung viel einfacher als das Ausführen einer lokalen Kafka-Instanz. Dieser Artikel führt uns durch die Schritte zur Einrichtung des lokalen Kafka-Containers mit der Spring Boot-Anwendung.

Voraussetzungen

  1. Wir müssen Docker Desktop einrichten. Dazu können wir uns auf diesen Artikel beziehen.
  2. Eine Spring-Kafka-Anwendung mit konfiguriertem Paket.

Kafka-Container ausführen

Um den Kafka-Container auszuführen, verwenden wir zunächst die folgende Docker-Compose-Datei:

YAML

 

Diese Docker-Compose-Datei enthält die Konfigurationen zum Herunterladen des Kafka-Containers und seiner Abhängigkeit, des Zookeeper-Containers. Zookeeper verwaltet Kafka-Broker-Knoten im Cluster; weitere Details dazu finden Sie in diesem Artikel.

Zur Registrierung der Container mit Docker Desktop verwenden wir den folgenden Befehl:

PowerShell

 

Dies lädt die erforderlichen Images herunter und startet die Container, und sobald die Container gestartet sind, können Sie die Container in Docker Desktop wie folgt sehen:

Jetzt, da der Kafka-Container aktiv ist, können wir die erforderlichen Topics mit der Docker Desktop-Konsole erstellen, indem wir den folgenden Befehl verwenden:

PowerShell

 

Jetzt, da der Container aktiv ist und die erforderlichen Vorbedingungen erfüllt sind, können wir die Spring Boot-Anwendung starten. Für die Spring Boot-Anwendung konfigurieren Sie die Kafka-Bootstrap-Adresse wie folgt:

Properties files

 

Wenn wir die Spring Boot-Anwendung starten, sollten wir die Verbindungsprotokolle mit Kafka sehen, abhängig vom Typ der Spring Boot-Anwendung, ob es sich um einen Produzenten oder Konsumenten handelt.

Indem wir die im Artikel beschriebenen Schritte befolgen, richten wir eine lokale Entwicklungsumgebung unter Verwendung eines Kafka-Containers und einer Spring Boot-Anwendung ein.

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