Sping Boot教程之五十四:Spring Boot Kafka 生产者示例

Spring Boot Kafka 生产者示例

Spring Boot 是 Java 编程语言中最流行和使用最多的框架之一。它是一个基于微服务的框架,使用 Spring Boot 制作生产就绪的应用程序只需很少的时间。Spring Boot 可以轻松创建独立的、生产级的基于 Spring 的应用程序,您可以"直接运行"。因此,下面列出了 Spring boot 的一些主要功能。

  • 创建独立的 Spring 应用程序
  • 直接嵌入 Tomcat、Jetty 或 Undertow。
  • 提供"启动器"依赖项以简化构建配置。
  • 尽可能自动配置 Spring 和第三方库。
  • 提供可用于生产的功能,例如健康检查、指标和外部化配置。
  • 几乎不需要代码生成,也不需要 XML 配置。

Apache Kafka 是一个发布-订阅消息系统。消息系统允许您在进程、应用程序和服务器之间发送消息。广义上讲,Apache Kafka 是一种可以定义和进一步处理主题(主题可能是类别)的软件。应用程序可以连接到此系统并将消息传输到主题上。消息可以包含任何类型的信息,来自您的个人博客上的任何事件,也可以是一条可以触发任何其他事件的非常简单的文本消息。在这里,我们将讨论如何使用 Spring Boot 将消息发布到 Kafka 主题 ,其中Kafka 是先决条件

例子:

先决条件 :确保您已在本地计算机上安装了 Apache Kafka。请参阅本文 如何在 Windows 上安装和运行 Apache Kafka?

**步骤 1:**转到此链接https://start.spring.io/并创建一个 Spring Boot 项目。将以下依赖项添加到您的 Spring Boot 项目。

  • Spring Web
  • Spring for Apache Kafka

第 2 步: 现在让我们创建一个名为DemoController的控制器类。

Java

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| // Java Program to Illustrate Controller Class package com.amiya.kafka.apachekafkaproducer; // Importing required classes import org.springframework.beans.factory.annotation.Autowired; import org.springframework.kafka.core.KafkaTemplate; import org.springframework.web.bind.annotation.*; // Annotation @RestController // Class public class DemoController { // Autowiring Kafka Template @Autowired KafkaTemplate<String, String> kafkaTemplate; private static final String TOPIC = "NewTopic"; // Publish messages using the GetMapping @GetMapping("/publish/{message}") public String publishMessage(@PathVariable("message") final String message) { // Sending the message kafkaTemplate.send(TOPIC, message); return "Published Successfully"; } } |

**步骤 3:**现在我们必须做以下事情才能使用 Spring Boot 将消息发布到 Kafka 主题

  1. 运行 Apache Zookeeper 服务器
  2. 运行 Apache Kafka 服务器
  3. 监听来自新主题的消息

使用此命令运行 Apache Zookeeper 服务器

复制代码
C:\kafka>.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties

类似地,使用此命令运行 Apache Kafka 服务器

复制代码
C:\kafka>.\bin\windows\kafka-server-start.bat .\config\server.properties

运行以下命令来监听来自新主题的消息

复制代码
C:\kafka>.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic NewTopic --from-beginning

步骤 4: 现在运行你的 Spring Boot 应用程序。确保已在application.properties文件中更改了端口号

复制代码
server.port=8081

让我们在 ApacheKafkaProducerApplication 文件中运行 Spring Boot 应用程序

**步骤 5:**浏览此 URL 并在 /publish/ 后传递您的消息。

复制代码
http://localhost:8081/publish/GeeksforGeeks

当我们在这里传递"GeeksforGeeks"时,您可以看到我们收到了"已成功发布"的回复。并且您可以实时看到该消息也已发布在服务器上。消息的流式传输是实时的。

类似地,如果我们在这里传递了"Hello World",你会看到我们得到了"发布成功"的回复。而且你还可以实时看到消息已在服务器上发布。

相关推荐
一只叫煤球的猫11 小时前
写代码很6,面试秒变菜鸟?不卖课,面试官视角走心探讨
前端·后端·面试
bobz96511 小时前
tcp/ip 中的多路复用
后端
bobz96512 小时前
tls ingress 简单记录
后端
皮皮林55113 小时前
IDEA 源码阅读利器,你居然还不会?
java·intellij idea
你的人类朋友13 小时前
什么是OpenSSL
后端·安全·程序员
bobz96513 小时前
mcp 直接操作浏览器
后端
前端小张同学15 小时前
服务器部署 gitlab 占用空间太大怎么办,优化思路。
后端
databook15 小时前
Manim实现闪光轨迹特效
后端·python·动效
武子康16 小时前
大数据-98 Spark 从 DStream 到 Structured Streaming:Spark 实时计算的演进
大数据·后端·spark
该用户已不存在16 小时前
6个值得收藏的.NET ORM 框架
前端·后端·.net