kafka的offset和ProcessingGuarantee

https://blog.csdn.net/qq_40625030/article/details/85280013

可能大部分朋友都觉得在任何情况下把这两个值设置为earliest或者latest ,消费者就可以从最早或者最新的offset开始消费,但在实际上测试的时候发现并不是那么回事,因为他们生效都有一个前提条件,那就是对于同一个groupid的消费者,如果这个topic某个分区有已经提交的offset,那么无论是把auto.offset.reset=earliest还是latest,都将失效,消费者会从已经提交的offset开始消费.

earliest 
当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费 
latest 
当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,消费新产生的该分区下的数据 

 

 

 

 

https://blog.csdn.net/xianpanjia4616/article/details/84347087

https://m.2cto.com/net/201703/616024.html

http://magicwt.com/2015/10/06/storm-kafka-kafkaspout%E5%8E%9F%E7%90%86%E5%88%86%E6%9E%90/

https://www.jianshu.com/p/0d35521bcf2d

 

 

https://blog.csdn.net/Gpwner/article/details/74517360

在auto.offset.reset=latest情况下,新的消费者将会从其他消费者最后消费的offset处(offset=40开始)开始消费Topic下的消息

消费者第一次启动之前的消息,无法消费https://stackoverflow.com/questions/47881700/kafka-first-message-missing

理解Kafka消费者属性的enable.auto.commit

https://blog.csdn.net/chaiyu2002/article/details/89472416

如果 enable.auto.commit 设置成 false,那么 auto.commit.interval.ms 也就不被再考虑了。

posted @ 2019-01-23 16:51  tonggc1668  阅读(478)  评论(0编辑  收藏  举报