Kafka3.0.0版本——Leader故障处理细节原理

目录

一、服务器信息

  • 三台服务器

    原始服务器名称 原始服务器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,

三、Leader故障处理细节

  • Leader发生故障之后,会从ISR中选出一个新的Leader,如下图所示:
  • 为保证多个副本之间的数据一致性,其余的Follower会先将各自的log文件高于HW的部分截掉,然后从新的Leader同步数据。如下图所示:
    注意:这只能保证副本之间的数据一致性,并不能保证数据不丢失或者不重复。
相关推荐
杨荧5 小时前
【JAVA毕业设计】基于Vue和SpringBoot的服装商城系统学科竞赛管理系统
java·开发语言·vue.js·spring boot·spring cloud·java-ee·kafka
zmd-zk6 小时前
kafka+zookeeper的搭建
大数据·分布式·zookeeper·中间件·kafka
激流丶6 小时前
【Kafka 实战】如何解决Kafka Topic数量过多带来的性能问题?
java·大数据·kafka·topic
筱源源6 小时前
Kafka-linux环境部署
linux·kafka
Mephisto.java6 小时前
【大数据学习 | kafka高级部分】kafka中的选举机制
大数据·学习·kafka
Mephisto.java6 小时前
【大数据学习 | kafka高级部分】kafka的优化参数整理
大数据·sql·oracle·kafka·json·database
Mephisto.java11 小时前
【大数据学习 | kafka高级部分】kafka的kraft集群
大数据·sql·oracle·kafka·json·hbase
Mephisto.java11 小时前
【大数据学习 | kafka高级部分】kafka的文件存储原理
大数据·sql·oracle·kafka·json
yx9o11 小时前
Kafka 源码 KRaft 模式本地运行
分布式·kafka
java1234_小锋19 小时前
讲讲RabbitMQ 性能优化
kafka