概述
2019独角兽企业重金招聘Python工程师标准>>>
1.kafka监听接口主要有四个实现如下:
MessageListener接口:使用MessageListener接口实现时,当消费者拉取消息之后,消费完成会自动提交offset,即enable.auto.commit为true时,适合使用此接口
AcknowledgingMessageListener接口:使用AcknowledgeMessageListener时,当消费者消费一条消息之后,不会自动提交offset,需要手动ack,即enable.auto.commit为false时,适合使用此接口
BatchMessageListener和BatchAcknowledgingMessageListener接口作用与上述两个接口大体类似,只是适合批量消费消息决定是否自动提交offset。
2.kafka的consumer的提交模式
AckMode可以选择的提交模式有一下几种:
- RECORD
每处理一条commit一次 - BATCH(
默认
)
每次poll的时候批量提交一次,频率取决于每次poll的调用频率 - TIME
每次间隔ackTime的时间去commit(跟auto commit interval有什么区别呢?
) - COUNT
累积达到ackCount次的ack去commit - COUNT_TIME
ackTime或ackCount哪个条件先满足,就commit - MANUAL
listener负责ack,但是背后也是批量上去 - MANUAL_IMMEDIATE
listner负责ack,每调用一次,就立即commit
转载于:https://my.oschina.net/u/3100849/blog/1576046
最后
以上就是多情百褶裙为你收集整理的kafka学习之监听方式实现消费者的全部内容,希望文章能够帮你解决kafka学习之监听方式实现消费者所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复