详解 Kafka 高水位(High Watermark, HW)与 Leader Epoch 的作用

Kafka 高水位(High Watermark, HW)与 Leader Epoch 的作用

1. 高水位(High Watermark, HW)的作用

高水位是 Kafka 中用于控制消息可见性和副本同步的核心机制。其核心作用包括:

  1. 消息可见性控制

    • 消费者只能读取 高水位以下的消息(已提交的消息)。
    • 高水位以上的消息未被所有副本同步,属于未提交状态,消费者无法读取,避免读取到可能丢失的数据。
  2. 副本同步的标尺

    • 高水位是 Kafka 副本同步的边界。只有当 Follower 副本的 LEO(Log End Offset,日志末尾偏移量)达到 Leader 的高水位时,副本才被认为是同步的(In-Sync Replica, ISR)。
    • 高水位由 Leader 的 ISR 中最小的 LEO 决定,确保所有 ISR 副本都同步到该位置。
  3. 数据可靠性保障

    • 通过高水位机制,Kafka 保证消费者不会读取到可能因副本故障而丢失的消息。例如,如果 Leader 副本宕机,新 Leader 只能从 ISR 中选举,确保数据不会丢失。
2. 高水位的缺陷

尽管高水位机制解决了基本的数据一致性问题,但在某些场景下仍存在风险:

  1. 数据丢失的典型案例

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值