前言
下面叙述的概念我曾去官网查询无果,于是查询了大量的技术帖子进行汇总。这个结论是目前普遍接受的解释!
参考贴链接
参考贴链接
特别注意
- 下面讨论的是基于offset连续,且无压缩的情况!每个offset都只有一个消息,且连续!
下面讨论的是基于offset连续,且无压缩的情况!每个offset都只有一个消息,且连续!
下面讨论的是基于offset连续,且无压缩的情况!每个offset都只有一个消息,且连续!
重要的事说三遍(后面的offset+1 中的1基于连续!!!!)
offset(偏移量)
官方的解释是每一个offset就是一个消息!
这里面会发现offset不连续,其实是进行了压缩,例如79到86.如果指定offset来消费消息,那么从79到86指定是等价的!这里就不展开说了,有兴趣自己查阅文档!
HW(High Watermark高水位)
- HW我在官方文档里没有查到其定义,但是看了很多技术帖子发现,这个是在ISR副本中定义的。
- ISR(in-sync replica )分区所有副本中offset最小的副本他最后一条消息后的待写位置。也是该副本的LEO!
- 在HW之后的消息是不能被customer消费的,即消费者可见的message的offset是HW-1
LEO(Log End Offset 日志结束位)
- ISR分区副本最后一条消息的待写位!即每个副本最大offset+1=LEO
在offset最小的那个副本中 LEO=HW!