kafka复制刷新了偏移细节

时间:2016-11-02 18:30:37

标签: apache-kafka

kafka复制设计wiki(https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Replication)提到kafka刷新偏移量作为单独的偏移量而不是HW和LEO。维基评论

Data before the flushed offset is guaranteed to be persisted on disks

在维基中没有关于此偏移的更多详细信息,在其他文章中也没有关于此在线的更多详细信息。任何有关这方面的细节将不胜感激。

1 个答案:

答案 0 :(得分:0)

根据我的理解,HW应与刷新的偏移没有直接关系。由于Linux的默认回写策略,刷新的偏移量应该是没有数据存储在磁盘上的点。

假设分区提交日志中有10条消息。由于所有这10条消息都已完全复制,因此硬件现在为10。后来制作人发出另外5条消息。现在LEO(日志结束偏移)是15,但是HW仍然是10,因为这些新创建的5条消息没有被所有关注者完全复制。但是请记住这个提交日志仍然在pagecache中,因此由于默认的回写,内核很可能没有将所有消息刷新到磁盘,因此刷新的偏移量可能在HW之前或之后。

相关问题