為Spring Boot應用程式設置本地Kafka容器

在當今的微服務和事件驅動架構中,Apache Kafka 是流式應用程序的事實標準。然而,將 Kafka 設置為本地開發環境以配合您的 Spring Boot 應用程序 時可能會有些棘手,特別是在配置它以本地運行的時候。

spring-kafka Maven 套件為 spring-kafka 提供了集成支持。要與 spring-kafka 一起工作,我們需要連接到 Kafka 實例。通常,在開發過程中,我們只是運行一個本地的 Kafka 實例並以其為基礎。但是使用 Docker Desktop 和容器,設置的過程比運行本地 Kafka 實例要簡單得多。本文將指導我們設置本地 Kafka 容器與 Spring Boot 應用程序的步驟。

前提條件

  1. 我們需要設置 Docker Desktop。為此,我們可以參考這篇 文章
  2. 配置了 spring-kafka 套件的 Spring Boot 應用程序。

運行 Kafka 容器

為了運行 Kafka 容器,我們首先將使用以下的 docker-compose 文件:

YAML

 

這個 docker-compose 文件包含了拉取 Kafka 容器及其依賴 Zookeeper 容器的配置。Zookeeper 管理集群中的 Kafka 代理節點;我們可以在這篇 文章 中找到更多詳細信息。

為了將容器註冊到 Docker Desktop,我們將使用以下命令:

PowerShell

 

這將拉取所需的映像並啟動容器,當容器啟動後,您可以在 Docker Desktop 中看到如下的容器:

現在 Kafka 容器已經啟動,我們可以使用 Docker Desktop 控制台創建所需的主題,命令如下:

PowerShell

 

現在容器已經啟動並且所需的前置條件已經完成,我們可以啟動 Spring Boot 應用程序。對於 Spring Boot 應用程序,請按照以下方式配置 Kafka 引導地址:

Properties files

 

當我們啟動 Spring Boot 應用程序時,我們應該根據 Spring Boot 應用程序的類型(無論是生產者還是消費者)看到與 Kafka 連接的日誌。

根據文章中概述的步驟,我們使用 Kafka 容器和 Spring Boot 應用程序設置了本地開發環境。

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