Een Lokale Kafka-container Instellen voor een Spring Boot Toepassing

In de microservices en event-driven architectuur van vandaag is Apache Kafka de facto voor streamingtoepassingen. Het opzetten van Kafka voor lokale ontwikkeling in combinatie met je Spring Boot-applicatie kan echter ingewikkeld zijn, vooral bij het configureren om lokaal te draaien.

De spring-kafka maven-pakket biedt ondersteuning voor Kafka-integratie. Om te werken met spring-kafka, moeten we verbinding maken met de Kafka-instantie. Gewoonlijk zouden we tijdens de ontwikkeling gewoon een lokale Kafka-instantie draaien en daartegen bouwen. Maar met Docker Desktop en containers is het veel gemakkelijker op te zetten dan het draaien van een lokale Kafka-instantie. Dit artikel begeleidt ons door de stappen voor het opzetten van de lokale Kafka-container met de Spring Boot-applicatie.

Vereisten

  1. We moeten Docker Desktop opzetten. Om dit te doen, kunnen we verwijzen naar dit artikel.
  2. Spring Boot-applicatie met spring-kafka pakket geconfigureerd.

Kafka-container draaien

Voor het draaien van de Kafka-container zullen we eerst het volgende docker-compose-bestand gebruiken:

YAML

 

Dit docker-compose-bestand bevat de configuraties om de Kafka-container en zijn afhankelijkheid, de Zookeeper-container, te starten. Zookeeper beheert Kafka-broker nodes in de cluster; verdere details hierover zijn te vinden in dit artikel.

Om de containers te registreren bij Docker Desktop, zullen we de volgende opdracht gebruiken:

PowerShell

 

Dit zal de benodigde afbeeldingen ophalen en de containers starten, en zodra de containers zijn gestart, kun je de containers in Docker Desktop zien zoals hieronder:

Nu de Kafka-container actief is, kunnen we de benodigde onderwerpen maken met behulp van de Docker Desktop-console met de volgende opdracht:

PowerShell

 

Nu de container actief is en de vereiste voorwaarden zijn vervuld, kunnen we de Spring Boot-toepassing starten. Voor de Spring Boot-toepassing, configureer het Kafka bootstrap-adres als volgt:

Properties files

 

Wanneer we de Spring Boot-toepassing starten, zouden we de logboeken moeten zien voor de verbinding met Kafka, afhankelijk van het type Spring Boot-toepassing, of het nu een producent of een consument is.

Door de stappen te volgen die in het artikel zijn uiteengezet, hebben we een lokale ontwikkelomgeving opgezet met behulp van een Kafka-container en een Spring Boot-toepassing.

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