前言
在kafka集群工作过程中,难免会碰到某个kafka服务实例宕机或挂掉的情况,服务一旦挂掉,意味着某个分区中的leader或follower将不能正常工作了
具体来说,leader和follower出现故障时各自的处理细节是不同的,假设kafka集群中有3个服务实例,对应到ISR中存储的就是3个brokerid的信息,假如brokerid为0的服务是leader,其他两个是follower,在broker实际工作过程中,发往broker的数据在leader和follower上均维持着一个HW和LEO,从实际经验来看,由于leader对外提供读写服务,而follower同步leader的数据,所以follower的HW(高水位线)同步到的最后那个水位所在位置数要低于leader的HW,基于这种情况前提下,会造成当leader出现故障,以及follower出现故障时内部在数据同步上的两种不同的情况
LEO(Log End Offset):每个副本的最后一个offset,LEO其实就是最新的offset + 1
HW(High Watermark):所有副本中最小的LEO
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/143307.html