kafka (至关重要)多副本相关一些关键概念

写在前面

本文介绍了kafka 中几个概念,这几个概念对理解kafka 多副本之间保证数据一致性、可靠性至关重要。

kafka 所有分区的消息都是保存的日志中,读者可以带着下面两个问题阅读本文

1. 新消息该往哪写?

2. 如何衡量副本的同步进度

3. 选举时依据什么选出最佳Leader

几个概念介绍

副本是相对于分区的,每个分区都有自己的副本,并且这些副本分布在不同Broker上。

AR

分区的所有副本集合,包含leader副本。

功能与作用:

kafka 分区分布在不同Broker 上,副本是kafka高可用的关键

ISR

ISR是指与leader副本保持同步的副本集合,也包含leader副本本身。ISR 中的副本数据与主副本是一致的

ISR 是不断变化的,当ISR 中副本滞后 replica.lag.time.max.ms时,该副本就会从ISR中剔除。有新满足条件的副本也会加入到ISR中

  • 只有ISR中的副本才可以参与选举和数据恢复,而ISR中数据是一致可靠的,所以kafka 集群是可靠性和一致性

HW

HW (High Watermark) 代表某分区中所有副本都确认写入的最高偏移量(Offset)。它代表了已经成功复制到所有ISR集合中副本的消息的位置。

HW之前的消息都是可靠的、一致的,消费者只能读取到HW之前的消息。

HW确保了消费者不会读取到未完全同步消息

LEO

LEO(Log End Offset),即日志末端偏移量,即一个分区中消息日志的最后一个位置,也是下一条消息要写入的位置。随着消息不断写入,LEO不断地动态变化。

通过比较各副本的LEO,可以判断它们的同步进度。选举时,选择最大的LEO副本,可以最大程度保证数据的完整性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值