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

目录

一、服务器信息

  • 三台服务器

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

三、Follower故障处理细节

  • Follower发生故障后会被临时踢出ISR,如下图所示:

  • 这个期间broker0中的Leader和broker1Follower继续接收数据,HW和LEO位置会随着接收数据的变化而变化,如下图所示:

  • 待该Follower恢复后,Follower会读取本地磁盘记录的上次的HW,并将log文件高于HW的部分截取掉,从HW开始向Leader进行同步。

  • 等该Follower 的LEO 大于等于该Partition 的HW,即Follower追上Leader之后,就可以重新加入ISR了,如下图所示:
相关推荐
码至终章1 小时前
kafka常用目录文件解析
java·分布式·后端·kafka·mq
小马爱打代码1 小时前
Kafka-常见的问题解答
分布式·kafka
weisian1511 小时前
消息队列篇--原理篇--常见消息队列总结(RabbitMQ,Kafka,ActiveMQ,RocketMQ,Pulsar)
kafka·rabbitmq·activemq
weisian1512 小时前
消息队列篇--原理篇--Pulsar和Kafka对比分析
分布式·kafka
龙哥·三年风水8 小时前
openresty(nginx)+lua+kafka实现日志搜集系统
kafka·lua·openresty
费曼乐园1 天前
Kafka中bin目录下面kafka-run-class.sh脚本中的JAVA_HOME
java·kafka
Shinobi_Jack1 天前
c#使用Confluent.Kafka实现生产者发送消息至kafka(远程连接kafka发送消息超时的解决 Local:Message timed out)
分布式·kafka
费曼乐园1 天前
Kafka与ZooKeeper
zookeeper·kafka
小白的一叶扁舟1 天前
Kafka 入门与应用实战:吞吐量优化与与 RabbitMQ、RocketMQ 的对比
java·spring boot·kafka·rabbitmq·rocketmq
霍格沃兹测试开发学社测试人社区1 天前
软件测试丨消息管道(Kafka)测试体系
软件测试·分布式·测试开发·kafka