请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于ConsumerRecordThreadSample模式

在ConsumerThreadSample经典模式中,consumer会提交offset,这样消息会被记录到是否消费成功,下次是否需要重新消费;
在ConsumerRecordThreadSample模式中,consumer不提交offset,那这意味着partition里的消息每次都会被consumer重复消费吗,因为之前也没有提交offset?consumer不提交offset一般会有什么情况呢?

正在回答 回答被采纳积分+3

2回答

Allen 2020-05-03 23:33:55

把代码贴出来呗

1 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕仰1047700 #1
    hi老师,就是想问下consumer不提交offset一般之后会有什么情况呢?
    回复 有任何疑惑可以回复我~ 2020-05-04 01:35:38
  • 小麻雀呀 回复 提问者 weixin_慕仰1047700 #2
    不提交offset那么会出现重复消费,比如你这次消费了10条属于,你没有提交offset,那么你下次再poll拉取,这10条还会在poll返回的列表中,相当于是全量拉取,而不是增量拉取,懂我意思吧
    回复 有任何疑惑可以回复我~ 2020-05-04 16:11:59
  • Allen 回复 小麻雀呀 #3
    good job, 理解的很到位
    回复 有任何疑惑可以回复我~ 2020-05-06 12:12:39
小麻雀呀 2020-05-03 19:32:24

你可以仔细看下ConsumerRecordThreadSample代码,设置的是kafka自动提交,ConsumerThreadSample经典模式中设置的是手动提交,因为在ConsumerRecordThreadSample模式中,一个Consumer不作处理,是给多个Handler进行处理,也无法得知究竟是否成功还是失败

0 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕仰1047700 #1
    哦哦,是的,ConsumerRecordThreadSample代码,设置的是kafka自动提交,开始没看到这个,谢谢~
    回复 有任何疑惑可以回复我~ 2020-05-04 01:33:35
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信