kafka+springboot的基础使用
2025-03-02 18:44:20 0 举报
AI智能生成
kafka+springboot的基础使用,包括生产者、消费者、主题的实现和相关操作代码,以及一些常用的配置
作者其他创作
大纲/内容
创建主题
通过kafka包的Admin或AdminClient类创建主题
Admin
操作简单,功能复杂度低,适用于简单场景
AdminClient
操作复杂,功能更强,适用于复杂场景
生产者
KafkaTemplate.send(topic主题, 分区编号, 时间戳, 自定义key值, 数据);
主要配置
spring.kafka.producer.acks=all
设置消息的acks确认机制,默认all即-1,表示所有follower和leader确认同步,0表示全都不需要确认,1表示leader确认
消费者
编码
@KafkaListener
TopicPartitions
可以同时订阅多个分区
可以同时订阅多个分区
@TopicPartition
指定主题、片区编号
指定主题、片区编号
groupId
定义消费组id
定义消费组id
参数一:ConsumerRecords<String, String> records
参数二:Acknowledgment ack
主要配置
spring.kafka.consumer.auto-offset-reset=earliest
消费方式:earliest:从最开始消费;latest:从最新的数据开始消费;none:如果找不到消费者组,则报错;
spring.kafka.consumer.enable-auto-commit=false
自动提交offset偏移量,默认开启,一般建议关掉,通过手动确认
spring.kafka.listener.ack-mode=manual_immediate
配合使用,可以开启手动提交模式
manual_immediate:需要在代码中调用Acknowledgment.acknowledge(),调用后立即生效
spring.kafka.consumer.auto-commit-interval=1s
自动提交offset偏移量的时间间隔
spring.kafka.consumer.max-poll-records=100
每次最多拉取条数
spring.kafka.listener.type=batch
配合使用,可以实现批量消费
0 条评论
下一页