关于重新建设网站的申请表中国建设银行信用卡官网站
2026/4/16 21:44:01 网站建设 项目流程
关于重新建设网站的申请表,中国建设银行信用卡官网站,如何免费制作自己的网站,亚马逊计划裁员1万人在 Apache Kafka 中#xff0c;HW#xff08;High Watermark#xff0c;高水位#xff09; 和 LEO#xff08;Log End Offset#xff0c;日志末端偏移量#xff09; 是两个核心概念#xff0c;它们共同保障了 Kafka 的数据一致性、可靠性与可见性。理解它们的关系对掌握…在 Apache Kafka 中HWHigh Watermark高水位和LEOLog End Offset日志末端偏移量是两个核心概念它们共同保障了 Kafka 的数据一致性、可靠性与可见性。理解它们的关系对掌握 Kafka 副本机制至关重要。一、基本定义概念含义LEOLog End Offset表示当前副本Replica日志中下一条待写入消息的 offset。即已有消息的最大 offset 1。例如 LEO10 表示已写入 [0, 9] 共 10 条消息。HWHigh Watermark表示已被所有 ISRIn-Sync Replicas副本成功复制的消息的最高 offset。消费者只能消费 offset HW 的消息以确保读取的是“已提交”且“多副本一致”的数据。✅ 简单记忆LEO “我写到哪了”本地进度HW “大家都确认到哪了”全局共识二、HW 与 LEO 的关系1.HW ≤ LEO因为 HW 是基于 ISR 中所有副本的 LEO 计算得出的而 Leader 自身的 LEO 通常最大。所以 HW永远不会超过任何 ISR 副本的 LEO自然也不会超过 Leader 的 LEO。2.HW min(所有 ISR 副本的 LEO)Leader 会持续监控所有ISR 集合中的 Follower 副本的 LEO。分区的 HW 就是这些副本 LEO 的最小值。HW min(Leader.LEO, Follower1.LEO, Follower2.LEO, ...)只有当所有 ISR 副本都复制了某条消息该消息的 offset 才会被包含进 HW。3.消费者只能读取 offset HW 的消息这是为了防止消费者读到“尚未被多数副本确认”的数据避免在 Leader 切换时出现数据丢失或重复。例如HW5则消费者最多只能读到 offset4 的消息。三、工作流程示例假设一个分区有 3 个副本1 Leader 2 Follower初始状态副本LEOHWLeader00Follower A00Follower B00生产者发送消息 offset0Leader 写入LEO → 1Follower 尚未同步 → LEO 仍为 0此时 ISR 中最小 LEO 0 →HW 保持 0消费者看不到这条消息Follower A 和 B 完成同步Follower A LEO → 1Follower B LEO → 1ISR 最小 LEO 1 →HW 更新为 1消费者现在可以消费 offset0 的消息。四、关键特性特性说明数据可见性控制HW 决定了消费者能读到哪里保证“已提交”语义容错机制若某个 Follower 落后太多如网络中断会被踢出 ISR不再参与 HW 计算避免拖慢整体进度Leader 切换安全新 Leader 必须截断日志至其 HW即旧 HW防止暴露未被确认的数据HW 更新延迟HW 通常在 Follower 发起 Fetch 请求时由 Leader 返回并更新存在一定延迟五、图解关系简化Offset: 0 1 2 3 4 5 6 [ committed ][-- uncommitted --] ↑ ↑ HW5 LEO7[0, 4]可被消费者安全读取offset HW[5, 6]已写入 Leader但未被所有 ISR 确认不可见六、常见误区❌ “HW 是 Leader 的 LEO” → 错HW 是 ISR 中最小 LEO。❌ “消费者能读到最新写入的消息” → 错必须等 ISR 同步完成HW 推进后才能读。✅HW 保证的是“已复制”而非“已持久化”—— 即使磁盘故障只要 ISR 中有副本存活数据就不会丢。总结HW 是 Kafka 实现“一致性读”和“高可用”的基石而 LEO 是每个副本的本地写入进度。HW 由 ISR 中最慢的 LEO 决定消费者只能看到 HW 之前的数据。这种设计在性能与一致性之间取得了良好平衡也是 Kafka 能成为高吞吐、可靠消息系统的关键之一。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询