栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

kafka-05数据一致性

kafka-05数据一致性

Log日志中的HW和LEO


假设leader写入10条数据,follower1写入8条,follower2写9条。如果leader故障,follower2被选为leader,follower2被选中后leader恢复,将导致数据不一致。

HW (High Watermark)高水位:指的是消费者能见到的最大的offset,ISR队列中最小的LEO;
LEO(Log End Offset ) 指的是每个副本最大的offset

ack保证数据不丢失,HW保证了消费一致性 选最小的

(1)follower 故障
follower 发生故障后会被临时踢出 ISR,待该 follower 恢复后,follower 会读取本地磁盘记录的上次的 HW,并将 log 文件高于 HW 的部分截取掉,从 HW 开始向 leader 进行同步。 等该 follower 的 LEO 大于等于该 Partition 的 HW,即 follower 追上 leader 之后,就可以重 新加入 ISR 了。
(2)leader 故障
leader 发生故障之后,会从 ISR 中选出一个新的 leader,之后,为保证多个副本之间的数据一致性,其余的 follower 会先将各自的 log 文件高于 HW 的部分截掉,然后从新的 leader同步数据。
注意:这只能保证副本之间的数据一致性,并不能保证数据不丢失或者不重复。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/745440.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号