为Spring Boot应用程序设置本地Kafka容器

在当今的微服务和事件驱动架构中,Apache Kafka 已成为流应用的事实标准。然而,在与您的 Spring Boot 应用程序一起为本地开发设置 Kafka 可能会有些棘手,特别是在配置其在本地运行时。

Spring Boot 应用程序通过 spring-kafka Maven 包提供了对 Kafka 集成的支持。要使用 spring-kafka,我们需要连接到 Kafka 实例。通常,在开发过程中,我们会只运行本地 Kafka 实例并构建应用程序。但是借助 Docker Desktop 和容器,设置比运行本地 Kafka 实例要容易得多。本文将指导我们完成设置本地 Kafka 容器与 Spring Boot 应用程序的步骤。

先决条件 

  1. 我们需要设置 Docker Desktop。要做到这一点,可以参考这篇文章。 
  2. Spring Boot 应用程序已配置了 spring-kafka 包。 

运行 Kafka 容器

要运行 Kafka 容器,我们首先会使用以下 docker-compose 文件:

YAML

 

这个 docker-compose 文件包含了配置,用于拉取 Kafka 容器及其依赖的 Zookeeper 容器。Zookeeper 管理着集群中的 Kafka broker 节点;关于此内容,可以在这篇文章中找到更多细节。

为了将容器注册到 Docker Desktop,我们将使用以下命令:

PowerShell

 

这将拉取所需的镜像并启动容器,一旦容器启动,您可以在 Docker Desktop 中看到容器如下:

现在 Kafka 容器已经启动,我们可以使用以下命令在 Docker Desktop 控制台中创建所需的主题:

PowerShell

 

现在容器已经启动,所需的前提条件已经准备就绪,我们可以启动 Spring Boot 应用程序。对于 Spring Boot 应用程序,请配置 Kafka 引导地址如下:

Properties files

 

当我们启动 Spring Boot 应用程序时,我们应该看到连接到Kafka的日志,这取决于 Spring Boot 应用程序的类型,是生产者还是消费者。

按照文章中概述的步骤,我们使用 Kafka 容器和 Spring Boot 应用程序建立了一个本地开发环境。

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