大数据Kafka系列之Kafka监听方式实现消费者
1. kafka监听接口MessageListener接口:使用MessageListener接口实现时,当消费者拉取消息之后,消费完成会自动提交offset,即enable.auto.commit为true时,适合使用此接口;AcknowledgingMessageListener接口:使用AcknowledgeMessageListener时,当消费者消费一条消息之后,不会自动提交o...
·
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
- COUNT
累积达到ackCount次的ack去commit
- COUNT_TIME
ackTime或ackCount哪个条件先满足,就commit
- MANUAL
listener负责ack,但是背后也是批量上去
- MANUAL_IMMEDIATE
listner负责ack,每调用一次,就立即commit
更多推荐
所有评论(0)