一、服务器信息
-
三台服务器
原始服务器名称 原始服务器ip 节点 centos7虚拟机1 192.168.136.27 broker0 centos7虚拟机2 192.168.136.28 broker1 centos7虚拟机3 192.168.136.29 broker2
二、服务器基本信息及相关概念
2.1、服务器基本信息
-
首先,分别有3台服务器分别为broker0、broker1、broker2,其中一台为leader,2台follower服务器。每台服务器已经接收到数据,如下图所示:
2.2、LEO的概念
-
LEO(Log End Offset):每个副本的最后一个offset,LEO其实就是最新的offset + 1
2.3、HW的概念
-
HW(High Watermark ):高水位线,所有副本中最小的LEO+1。如下图中每个broker都有的数据是4(即最小的LEO为4),HW为最小的LEO+1,文章来源:https://www.toymoban.com/news/detail-681692.html
文章来源地址https://www.toymoban.com/news/detail-681692.html
三、Leader故障处理细节
-
Leader发生故障之后,会从ISR中选出一个新的Leader,如下图所示:
-
为保证多个副本之间的数据一致性,其余的Follower会先将各自的log文件高于HW的部分截掉,然后从新的Leader同步数据。如下图所示:
注意:这只能保证副本之间的数据一致性,并不能保证数据不丢失或者不重复。
到了这里,关于Kafka3.0.0版本——Leader故障处理细节原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!