首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kafka -对数结束偏移量(LEO)与高水位线(HW)之间的差异

问Kafka -对数结束偏移量(LEO)与高水位线(HW)之间的差异
EN

Stack Overflow用户
提问于 2016-08-29 17:47:47
回答 2查看 16.7K关注 0票数 26

副本中的LEO and HW ( Leader Replica)有什么区别?

它们会包含相同的数字吗?我可以理解HW是last committed message offset。

LEO何时更新?如何更新?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-31 19:02:22

高水位线指示完全复制的消息的偏移量,而如果存在尚未复制的新附加到前导分区的记录,则日志结束偏移量可能更大。

消费者只能消费高水位线以下的消息。

有关更多详细信息,请参阅此博客文章:http://www.confluent.io/blog/hands-free-kafka-replication-a-lesson-in-operational-simplicity/

票数 38
EN

Stack Overflow用户

发布于 2021-06-02 21:26:29

让我们从Google上找到最流行的水印定义开始

高水位线是成功复制到所有日志副本的最后一条消息的偏移量

我对上面的定义不太信服,在我的研究中,我发现了这张很好的图片:

​

​

那么问题出在哪里呢?图片中最右边的卡住的追随者没有记录第四条消息。也许谷歌找到的第一个定义并不完整,作者真正想做的是:“高水位线是最后一条消息的偏移量,该消息被成功复制到日志的所有同步副本中。”

在这种直觉的指导下,我找到了这个article,它提供了有关WM如何与代码一起计算的详细信息。

我发现WM的定义要精确得多:

高水位线被计算为此分区的所有ISR上的最小LEO,并且它单调增长。

这个答案与提供的代码一起证实了我的直觉。

综上所述,我认为水印的详细定义说明了LEO和WM之间的区别。最新的承诺偏移量和LEO可能与同步跟随者的高水位线一致,但对于Leader可能不是,如第一个链接图像中的示例所示。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39203215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档