深度剖析Kafka可靠性保证

Kafka的AR

Kafka的内部维护了一个AR列表,其中,AR由ISR和OSR两部分组成。

ISR

ISR中的副本都要同步leader中的数据,副本同步队列,只有都同步完成了数据才认为是成功提交了,成功提交之后的消息才能被访问和消费。在这个同步的过程中,即使消息已经写入也不能被外界访问,这个过程是通过LEO-HW机制来实现的。

OSR

OSR中的follower会尽力的去同步leader,可能数据版本会落后于ISR,OSR内的副本是否完全同步了leader的数据,不影响数据的提交。

最开始所有的副本都在ISR中,在kafka工作的过程中,如果某副本同步速度慢于replica.lag.time.max.ms中配置的阈值,就被踢出ISR存入OSR,如果后续速度恢复可以回到ISR中。

LEO

LogEndOffset,分区的最新的数据的offset,当有新的数据写入leader后,LEO会立刻将标记为置为最新数据。

HW

HighWatermark,只有当写入的数据,被ISR中所有的成员都同步,才认为该数据已提交,HW更新到该位置,消费者只能访问HW位置之前的数据,保证没有同步完成数据不会被消费者访问到。

ISR、OSR、LEO、HW这些信息都被保存在Zookeeper中。

Kafka文件存储机制

Kafka中消息是以topic进行分类的,生产者通过topic向Kafka brok

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值