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同步数据。如下图所示:
    注意:这只能保证副本之间的数据一致性,并不能保证数据不丢失或者不重复。
相关推荐
indexsunny3 小时前
互联网大厂Java面试实战:从Spring Boot到微服务架构的三轮提问
java·spring boot·微服务·eureka·kafka·mybatis·spring security
掘金-我是哪吒4 小时前
Kafka本身只保证单个分区内的消息是有序的
分布式·kafka
what丶k5 小时前
为何Kafka成为消息队列首选?深度对比RabbitMQ与RocketMQ
kafka·java-rocketmq·java-rabbitmq
Paraverse_徐志斌6 小时前
K8S HPA + KEDA 弹性伸缩消费者解决 MQ 消息积压
容器·kafka·kubernetes·k8s·linq·hpa·keda
zhangxl-jc7 小时前
SparkStreaming消费Kafka 重启任务时重复消费数据
分布式·spark·kafka
编程彩机7 小时前
互联网大厂Java面试:从Spring Cloud到Kafka的技术场景深度解析
java·spring cloud·微服务·kafka·技术面试
xiaolyuh1237 小时前
Kafka、RocketMQ、RabbitMQ 事务消息核心差异对比
kafka·rabbitmq·rocketmq
廋到被风吹走1 天前
【消息队列】选型深度对比:Kafka vs RocketMQ vs RabbitMQ
kafka·rabbitmq·rocketmq
像少年啦飞驰点、1 天前
Java大厂面试真题:Spring Boot + Kafka + Redis 在电商场景下的实战应用
java·spring boot·redis·分布式·kafka·面试题·电商秒杀
China_Yanhy1 天前
生产级 Amazon MSK (Express 模式) 架构构建与选型实战白皮书
架构·kafka·云计算·aws