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

kafka入门(九):副本

副本

副本(Replica),指的是分布式系统对数据和服务提供的一种冗余方式。
Kafka通过多副本机制实现故障自动转移,在Kafka集群中某个broker节点失效的情况下仍然保证服务可用。

kafka 副本之间是 一主多从的关系。
其中 leader 副本负责处理读写请求,follower 副本只负责与 leader 副本的消息同步。

副本处于不同的 broker中,当 leader 副本出现故障时,从 follower 副本中重新选举新的 leader 副本对外提供服务。

kafka 通过多副本机制实现了故障的自动转移,当 kafka集群中某个 broker 失效时仍然能保证服务可用。

ISR (In-Sync Replicas)

所有与 leader 副本保持一定程度同步的副本(包括leader副本在内) 组成 ISR (In-Sync Replicas)

只有在 ISR 集合中的副本才有资格被选举为新的 leader。

OSR (Out-of-Sync Replicas)

消息先发送到 leader 副本,然后 follower 副本才能从 leader 副本中拉取消息进行同步,同步期间 follower 副本相对 leader 副本会有一定程序的滞后。

与 leader 副本同步滞后过多的副本(不包括 leader副本) 组成 OSR (Out-of-Sync Replicas)。

leader副本负责维护和跟踪ISR集合中所有follower副本的滞后状态,当follower副本落后太多或失效时,leader副本会把它从ISR集合中剔除。

如果OSR集合中有follower副本追上了leader副本,那么leader副本会把它从OSR集合转移至ISR集合。

AR (Assigned Replicas)

分区中的所有副本统称为 AR(Assigned Replicas) 。 AR = ISR + OSR。

HW (High Watermark)

HW , 俗称"高水位"。它标识了一个特定的消息偏移量( offset ) , 消费者只能拉取到这个 offset 之前的消息 。

LW (Low Watermark):

LW是Low Watermark的缩写,俗称“低水位”,代表AR集合中最小的logStartOffset值。副本的拉取请求(FetchRequest,它有可能触发新建日志分段而旧的被清理,进而导致logStartOffset的增加)和删除消息 请求(DeleteRecordRequest)都有可能促使LW的增长。

LEO (Log End Offset )

LEO, 它标识当前日志文件中下一条待写入消息的 offset。

分区 ISR 集合中的每个副本都会维护自身的 LEO。而 ISR 集合中最小的 LEO 即为分区的 HW, 对消费者而言只能消费 HW 之前的消息。

kafka入门文章

https://blog.csdn.net/sinat_32502451/category_12465196.html

资料来源:

《深入理解 Kafka-- 核心设计与实践原理》

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

相关文章:

  • 【5G 接口协议】N2接口协议NGAP(NG Application Protocol)介绍
  • 2024年甘肃省职业院校技能大赛信息安全管理与评估 样题三 模块二
  • Python自动化我选DrissionPage,弃用Selenium
  • MQ 消息丢失、重复、积压问题,如何解决?
  • 【Linux】第三十三站:日志
  • MVC和MVVM区别和VUE关系
  • vue3自定义按钮点击变颜色实现(多选功能)
  • Redis的key过期策略是怎么实现的
  • vue+elenemt分页+springboot
  • C++ :命名空间域
  • 提升网站关键词排名的工具
  • ICMP控制消息 汇总
  • C#,入门教程(22)——函数的基础知识
  • 已经30了,5年多,只会功能测试的怎么办?
  • 什么是UML?有什么用?
  • 盘点好用内容合规监测工具
  • CC工具箱使用指南:【查找锐角】
  • kafka消费相关问题(GPT回答版本)
  • 【C++】string的基本使用二
  • MATLAB解决考研数学一题型(上)
  • Vue以弹窗形式实现导入功能
  • 分布式锁原理及实现
  • 蓝桥杯官网填空题(海盗与金币)
  • JavaScript 中JSON 字符串和对象之间的转换。
  • All the stories begin at installation
  • Linux文件系统与设备文件
  • QT的绘图系统QPainterDevice与文件系统QIODevice
  • Spark流式读取文件数据
  • Leetcode 3011. Find if Array Can Be Sorted
  • Databend 开源周报第 129 期