当前位置: 首页 > news >正文

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

目录

    • 一、服务器信息
    • 二、服务器基本信息及相关概念
      • 2.1、服务器基本信息
      • 2.2、LEO的概念
      • 2.3、HW的概念
    • 三、Follower故障处理细节

一、服务器信息

  • 三台服务器
    原始服务器名称原始服务器ip节点
    centos7虚拟机1192.168.136.27broker0
    centos7虚拟机2192.168.136.28broker1
    centos7虚拟机3192.168.136.29broker2

二、服务器基本信息及相关概念

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了,如下图所示:

在这里插入图片描述

http://www.lryc.cn/news/145333.html

相关文章:

  • 13.redis集群、主从复制、哨兵
  • linux字符串处理
  • Nginx入门——Nginx的docker版本和windows版本安装和使用 代理的概念 负载分配策略
  • Zebec Protocol:模块化 L3 链 Nautilus Chain,深度拓展流支付体系
  • Oracle-rolling upgrade升级19c
  • Spring IOC详解
  • Unity——DOTween插件使用方法简介
  • 数据库——Redis 单线程模型详解
  • leetcode 567. 字符串的排列(滑动窗口-java)
  • Git —— 分支重命名操作
  • JavaIO流
  • FlinkSql 如何实现数据去重?
  • 机器学习概念
  • 【数据结构】排序(插入、选择、交换、归并) -- 详解
  • 游戏中的图片打包流程,免费的png打包plist工具,一款把若干资源图片拼接为一张大图的免费工具
  • Springboot实现ENC加密
  • nginx 托管vue项目配置
  • Vue3中如何进行封装?—组件之间的传值
  • 实训笔记8.25
  • vue自定义监听元素宽高指令
  • 网络爬虫到底是个啥?
  • 前端行级元素和块级元素的基本区别
  • CentOS 7用二进制安装MySQL5.7
  • 华为加速回归Mate 60发布, 7nm全自研工艺芯片
  • Linux系列讲解 —— 【systemd】下载及编译记录
  • u-view 的u-calendar 组件设置默认日期后,多次点击后,就不滚动到默认日期的位置
  • vue naive ui 按钮绑定按键
  • Viobot基本功能使用及介绍
  • 《PMBOK指南》第七版12大原则和8大绩效域
  • docker 启动命令