SpringBoot4.0集成Kafka4快速入门

windows下安装kafka4

下载安装

bat 复制代码
# 下载
https://kafka.apache.org/community/downloads/
# 进入windows下的bin目录
cd D:\kafka_2.13-4.1.1\bin\windows
# 创建集群id,报错不用管,我的是TkS3qte5T8Soj2saiRg87w 
kafka-storage random-uuid
# 修改日志文件存放目录,编辑config\server.properties
log.dirs=D:/kafka_2.13-4.1.1/data
# 初始化数据目录,报错不用管,-t指定集群id,-c指定配置文件
kafka-storage format --standalone -t TkS3qte5T8Soj2saiRg87w  -c D:\kafka_2.13-4.1.1\config\server.properties
# 启动服务端
kafka-server-start D:\kafka_2.13-4.1.1\config\server.properties

新版的kafka不再依赖zookeeper。

命令行收发消息

sh 复制代码
# 手动创建topic
kafka-topics --create --topic quickstart-events --bootstrap-server localhost:9092
# 查看topic
kafka-topics --describe --topic quickstart-events --bootstrap-server localhost:9092
# 手动发消息
kafka-console-producer --topic quickstart-events --bootstrap-server localhost:9092
# 手动消费消息
kafka-console-consumer --topic quickstart-events --from-beginning --bootstrap-server localhost:9092

集成SpringBoot4.0

  • 添加依赖
xml 复制代码
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-kafka</artifactId>
</dependency>
  • 添加配置
yml 复制代码
spring:
  kafka:
    # 设置kafka服务器地址
    bootstrap-servers: localhost:9092
    # 设置消费者组
    consumer:
      group-id: quick-group
  • 添加生产者
java 复制代码
@Autowired
private KafkaTemplate<String, String> stringTemplate;
@GetMapping("/send/{msg}")
public void send(@PathVariable("msg")String msg){
    // 如果是key-value都是string类型,可以直接发送和接收
    stringTemplate.send("quickstart-events", msg);
    log.info("send message:{}", msg);
}
  • 添加消费者
java 复制代码
@Service
public class QuickConsumer {
    @KafkaListener(topics = "quickstart-events")
    public void onMessage(String message){
        log.info("on message:{}", message);
    }
}

spring-boot-starter-kafka中已经自动配置了KafkaTemplate的key和value的序列化器StringSerializer和反序列化器StringDeserializer,只需要设置broker的地址和消费者所属的组即可进行消息的收发,显然比之前的老版本更简单了。

安装可视化管理工具

kafka的管理工具有很多,比如:Kafka UI、Kafdrop等,这里我们选择Kafka UI,它是一个SpringBoot的应用,易用且功能全面。

bat 复制代码
#下载地址
https://github.com/provectus/kafka-ui
# 启动
java -Dserver.port=8000 -Ddynamic.config.enabled=true -jar kafka-ui-api-v0.7.2.jar

浏览器访问http://localhost:8000,首先添加cluster:

然后就可以对cluster进行管理:

更多关于SpringBoot4.0的文章:SpringBoot4.0新特性

相关推荐
萧瑟余晖几秒前
Java深入解析篇三十三之密封类与接口(Sealed Classes)详解
java·开发语言
论迹复利4 小时前
FreeRTOS 在 RISC-V 上是如何“点火“的 —— 从 main() 到第一个任务的完整链路
java·开发语言·risc-v
小江的记录本4 小时前
【CSS】CSS 动画:transition、animation、transform、CSS3 新特性(附《思维导图》)
前端·css·安全·spring·前端框架·css3·动画
张宇Joaquin4 小时前
鲲鹏统一并行加速库KUPL--众核并行能力介绍
java·开发语言·网络
宸津-代码粉碎机5 小时前
AI攻防战升级!基于Spring AI构建Java应用自动免疫安全体系
java·大数据·开发语言·人工智能·python·安全·spring
2601_963749105 小时前
越华环保集团数字化污水治理:端边云采集架构与平台对接实现
java·大数据·架构
xcLeigh6 小时前
Go入门:整数类型的溢出与安全边界
java·安全·golang
源码宝6 小时前
SpringBoot+Vue2 诊所门诊管理系统,完整前后端源码,可直接部署上线
java·源码·his系统·门诊系统·程序代码·诊所系统·门诊his
yychen_java6 小时前
九:Text-to-SQL 智能数据查询与 Human-in-the-Loop 人机协作
java·人工智能·架构
user_admin_god7 小时前
数据采集/交换系统设计经验
spring boot·spring·策略模式