Configurazione di un contenitore Kafka locale per l’applicazione Spring Boot

Nell’architettura a microservizi e basata su eventi di oggi, Apache Kafka è il de facto per le applicazioni di streaming. Tuttavia, configurare Kafka per lo sviluppo locale in concomitanza con la tua applicazione Spring Boot può essere complicato, specialmente quando si tratta di configurarlo per l’esecuzione locale.

La applicazione Spring Boot fornisce supporto per l’integrazione con Kafka tramite il pacchetto maven spring-kafka. Per lavorare con spring-kafka, dobbiamo connetterci all’istanza di Kafka. Tipicamente, durante lo sviluppo, eseguiremmo un’istanza locale di Kafka e ci costruiremmo contro. Ma con Docker Desktop e i container, le cose sono molto più facili da configurare rispetto all’esecuzione di un’istanza locale di Kafka. Questo articolo ci guida attraverso i passaggi per configurare il container Kafka locale con l’applicazione Spring Boot.

Prerequisiti

  1. Dobbiamo configurare Docker Desktop. Per farlo, possiamo fare riferimento a questo articolo.
  2. Applicazione Spring Boot con pacchetto spring-kafka configurato.

Esecuzione del Container Kafka

Per eseguire il container Kafka, utilizzeremo prima il seguente file docker-compose:

YAML

 

Questo file docker-compose contiene le configurazioni per scaricare il container Kafka e la sua dipendenza, il container Zookeeper. Zookeeper gestisce i nodi broker di Kafka nel cluster; ulteriori dettagli su questo argomento sono disponibili in questo articolo.  

Per registrare i container con Docker Desktop, utilizzeremo il seguente comando:

PowerShell

 

Questo comando scaricherà le immagini richieste e avvierà i container e, una volta avviati i container, sarà possibile visualizzarli in Docker Desktop come segue:

Ora che il container Kafka è attivo, possiamo creare i topic necessari utilizzando la console di Docker Desktop con il seguente comando: 

PowerShell

 

Ora che il container è attivo e sono stati eseguiti i prerequisiti necessari, possiamo avviare l’applicazione Spring Boot. Per l’applicazione Spring Boot, configurare l’indirizzo di bootstrap di Kafka come segue:

Properties files

 

Quando avviamo l’applicazione Spring Boot, dovremmo vedere i log per la connessione con Kafka, a seconda del tipo di applicazione Spring Boot, che sia un produttore o un consumatore.

Seguendo i passaggi indicati nell’articolo, abbiamo impostato un ambiente di sviluppo locale utilizzando un container Kafka e un’applicazione Spring Boot.

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