4-Kafka 集成

文章目录
- 4-Kafka 集成
- @[toc]
- 4.2 Java 应用场景
- 4.2.1 Spring Boot 集成
- 4.2.1.1 创建 Spring Boot 项目
- 4.2.1.2 编写功能代码
- 4.2.1.3 集成测试步骤
4.2 Java 应用场景
4.2.1 Spring Boot 集成
4.2.1.1 创建 Spring Boot 项目
- 使用 Spring Initializr 或 IDE 新建 Maven 项目,parent 指向
spring-boot-starter-parent 3.0.5
,JDK 17。 pom.xml
核心依赖: spring-boot-starter-web
(排除 logging)spring-kafka
kafka-clients 3.6.1
- 工具:
lombok
、fastjson、hutool-json、hutool-db
resources/application.yml
关键配置: bootstrap-servers: localhost:9092
- Producer:
acks=all、retries=0、batch-size=16384、buffer-memory=33554432
- Consumer:
group-id=test、auto-offset-reset=earliest、enable-auto-commit=true、max-poll-records=2
- Listener:
type=batch、concurrency=2、missing-topics-fatal=true
- Server:
port=9999
4.2.1.2 编写功能代码
- 配置常量类
SpringBootKafkaConfig
:定义 TOPIC_TEST = "test"
、GROUP_ID = "test"
。 - 生产者控制器
KafkaProducerController
: - POST
/kafka/produce
- 接收任意 JSON →
JSONUtil.toJsonStr
→ kafkaTemplate.send
- 批量消费者
KafkaDataConsumer
: @KafkaListener(topics = TOPIC_TEST, groupId = GROUP_ID)
- 接收
List<String>
,逐条解析并打印 "data"
字段
4.2.1.3 集成测试步骤
- 启动 ZooKeeper
- 启动 Kafka
- 启动 Spring Boot 应用(端口 9999)
- 用 Postman 向
http://localhost:9999/kafka/produce
发 POST 请求,观察控制台消费者输出