我是靠谱客的博主 多情百褶裙,最近开发中收集的这篇文章主要介绍kafka学习之监听方式实现消费者,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1.kafka监听接口主要有四个实现如下:

130039_me7o_3100849.png

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学习之监听方式实现消费者所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部