kafka学习总结009 --- HW和LEO
本章要说的HW和LEO和ISR有关联,ISR之前总结过,这里不再说。
HW --- High Watermark(高水位),用于标识特定的offset,消费者只能拉取到HW之前的消息
LEO --- Log End Offset,某个分区要写入下一条消息的offset
LSO --- Log Start Offset ,某个分区起始的offset
接下来总结下ISR与HW/LEO的关系
前提:某分区有3个副本,当前状态下,HW和LEO均为2,offset为3和4的消息将要被写入分区
消息被写入Leader后,Follower会主动从Leader拉取消息进行消息同步;
但是不同副本拉取消息的效率不同,某一时刻,follower1拉取消息完成,但是follower2只拉取了消息3,此时follower1的HW为5,follower2的HW为4,那么该分区的HW取最小值4,
消费者只能拉取到0~3offset的消息
当follower2同步Leader完成后,follower2的HW为5,整个分区的HW为5
通过该方式,kafka集群很大程度上保证了Leader宕机后,数据的丢失
心有猛虎,细嗅蔷薇
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步