赞
踩
在讲这个之前,首先介绍两个概念
1.LEO(Log End Offset)
每个副本的最后一个offset,LEO就是最新的offset+1
2.HW(High Watermark)
所有副本中最小的LEO.
如果follower挂了,首先会从isr中退出,在这期间Leader和Follower继续接收数据,等到follower恢复之后,首先找到hw,并将log文件高于HW的部分截取掉,从HW开始向Leader进行同步。
其实这里有个问题,就是为什么要将log文件高于HW部分截取掉,不直接向Leader进行同步,因为Leader始终是数据比较多的?
这里解释一下:如果leader挂了,数据最少的节点成为leader,那follower比Leader数据多,那多的数据来自哪里呢?因此,需要截取掉那一部分数据。
isr中选取新的leader,其他的follower截取hw,然后向leader同步。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。