springboot集成kafka还是挺方便了,spring提供了KafkaTemplate,用来生产消息,消费者消费消息,就需要使用KafkaListener了,创建和删除topic使用AdminClient。
第一步:pom.xml添加依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
第二步:修改配置文件application.properties
server.servlet.context-path=/KafkaTest
server.port=8088
spring.kafka.bootstrap-servers=10.118.188.73:9092,10.118.188.73:9093,10.118.188.73:9094
#配置生产者
spring.kafka.producer.retries= 0
#应答级别:多少个分区副本备份完成时向生产者发送ack确认(可选0、1、all/-1)
spring.kafka.producer.acks=1
#批量大小
spring.kafka.producer.batch-size=16384
# 生产端缓冲区大小
spring.kafka.producer.buffer-memory=33554432
# key序列化方式
spring.kafka.producer.key-serializer&