producer发送消息1,2,3,4
consumer接收消息1,2,3,4
consumer崩溃/断开连接
producer发送消息5、6、7
consumer重新出现,并且应该接收从5而不是7开始的消息

对于这种结果,我必须使用哪个offset值以及需要做哪些其他更改/配置

最佳答案

当使用者加入使用者组时,它将获取上一个提交的偏移量,因此如果在崩溃前提交了最新的偏移量(因此为4),它将重新从5、6、7读取。
使用者启动时使用earliest属性的latestauto.offset.reset值,但分配的分区没有提交的偏移量。在这种情况下,您可以选择是否要从头开始(最早)或在最后一条之后(最新)重新读取所有消息。

关于apache-kafka - kafka最早和最新偏移值之间的区别是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48320672/

10-16 17:20