一、什么是 LEOLEOLog End Offset是每个副本自身日志的末尾位移即下一条待写入消息的偏移量。若某个副本已写入 0~4 共 5 条消息则其 LEO 5。每写入一条新消息LEO 便递增 1。所有副本各自维护 LEOLeader 还会跟踪每个 Follower 上报的 LEO。二、什么是 HWHWHigh Watermark是高水位它标记了分区中所有 ISR 副本都已成功复制的最高偏移量。消费者只能拉取到 HW 之前的消息HW 之后的消息对消费者不可见。HW 由 Leader 计算取ISR 中所有副本 LEO 的最小值且只增不减。例如Leader LEO100Follower1 LEO98Follower2 LEO99则 HW min(100,98,99) 98。消费者最多能消费到 offset 97 的消息。三、LEO 与 HW 的关系——追赶式同步HW 是 ISR 中所有副本 LEO 的交集上限但 ISR 内的 LEO 并不要求时刻相等。副本同步的实质是“追赶”而非“恒等”。Leader 写入新消息后自己的 LEO 立即更新Follower 通过 Fetch 请求拉取数据并写入本地日志LEO 随之更新在任何时刻Follower 的 LEO 可能略小于 Leader 的 LEO但只要它在持续递增并能在下一次拉取后暂时对齐就算“同步”Leader 根据所有 ISR 副本的 LEO 计算 HW并将 HW 下发给 Follower消费者只能读到 HW 之前的消息。四、ISR 判定的真实逻辑心跳式“追上”replica.lag.time.max.ms衡量的是“最后一次追上距离现在过了多久”而不是“数据落后了多久”。每一次 Follower 的 LEO 与 Leader 的 LEO 对齐哪怕只是短暂瞬间系统都会记录下这个时间戳。只要当前时间距离上一次“对齐”的时刻没有超过阈值Follower 就一直属于 ISR。当 Follower 因网络断连、磁盘故障等其 LEO 长时间停滞导致超过阈值仍未能再次对齐时才会被踢出 ISR。类比Leader 是长跑领跑员Follower 是跟随者。裁判阈值要求跟随者每 10 秒内至少与领跑员并排一次而不是永远保持并排。只要跟随者能在每个 10 秒窗口内追上一次就仍被视作跟得上。五、如果没有 HW 会发生什么——脏读的诞生为了理解 HW 的必要性我们先假设去掉 HW让 Kafka 允许消费者直接读取 Leader 本地已写入但尚未被 Follower 同步的消息。前提设定分区 3 副本Leader、F1、F2 均在 ISR生产者acks1消费者默认从 Leader 读取。5.1 正常运行时的假象生产者发消息Leader 写入本地日志后 LEO 立即前进同时消费者马上就能读到这条新消息。F1 和 F2 尚未同步但暂时看不出问题——数据似乎读取正常只是副本数据滞后而已。5.2 Leader 宕机时的致命一击消费者已经从旧 Leader 读到了这条新消息旧 Leader 突然宕机触发主从切换新 Leader 从 ISR 中选出F1 或 F2但它们的日志中根本没有这条新消息消费者之前读到的消息凭空消失——再次消费或查询时再也看不到这条数据。这就是典型的脏读 / 数据不一致数据一会儿存在、一会儿不存在系统对外暴露了“仅存在于老 Leader、尚未被副本落地”的临时数据。5.3 HW 的保护机制有 HW 时逻辑截然不同新消息写入 Leader → LEO 前进但HW 不会立即移动必须等所有 ISR 副本都同步完这条消息Leader 才推进 HW消费者只能拉取 HW 之前的消息因此在副本真正落地前消费者绝对看不到它即便此时 Leader 宕机新 Leader 也一定已经拥有了这条消息消息不会消失。HW 本质上是一道“对外可见闸门”它的核心作用就是只有被多副本安全落地的数据才允许被消费者读取。六、HW 与生产者 acks 策略完全无关先明确结论HW 的定义与生产者设置的 acks 策略没有任何关系。无论 acks 设为0、1还是allKafka 的 HW 永远是同一个标准所有 ISR 副本中 LEO 的最小值。它只与副本同步状态有关和生产者的确认策略无关。为什么无关因为它们解决的是两个完全不同的问题概念解决的问题作用对象acks生产者如何确认消息是否写入成功生产者 ↔ BrokerHW消费者能读到哪些“已可靠落地”的数据Broker ↔ 消费者acks 只影响生产者收到确认的时机而 HW 是 Kafka 内部定义的、和副本同步状态绑定的对外可见数据边界两者互不影响。以 acks1 为例假设一个分区有 3 个副本Leader 2 个 Follower均在 ISR 中生产者acks1发送消息Leader 写入成功立即返回确认给生产者此时 Follower1 的 LEO 已追上但 Follower2 尚未拉取其 LEO 仍为旧值Kafka 计算所有 ISR 副本的 LEO发现 Follower2 的 LEO 最小因此HW 依然停留在旧位置消费者仍然看不到这条新消息直到 Follower2 完成同步、HW 更新后消息才对消费者可见。结论即使 acks1 已经让生产者“认为”消息发送成功只要 Follower 未同步完成HW 就不会推进消费者就绝对读不到这条消息。这样就保证了消费者视角的数据一致性不会因 acks 策略而出现脏读。acks 策略只是影响了生产者的“确认时机”可能会带来消息丢失风险Leader 宕机时但绝不影响消费者的可见性边界。七、不同 acks 下的消息持久性与可见性尽管 HW 计算规则不变但不同的 acks 策略仍然会影响消息的持久化保障以及 HW 推进的速度。acks 配置生产者确认时机HW 推进条件消息可靠性acks0不等待 Broker 确认仍需所有 ISR 副本 LEO 跟进极低消息可能根本没有写入acks1Leader 写入后即返回仍需所有 ISR 副本 LEO 跟进可能丢失Leader 宕机且未同步acksall所有 ISR 副本写入后返回返回时所有 ISR 副本 LEO 已跟进HW 同步推进极高除非所有 ISR 宕机关键点无论 acks 取值如何消费者永远只能读到 HW 之前的消息。acks1 可能会让生产者误以为消息已安全但若 Leader 在该消息被 Follower 同步前宕机消息将永久丢失且消费者从未看到过它。八、再区分两个风险别搞混1.acks1 有 HW风险消息丢失。Leader 写入后生产者已收到成功确认但 Follower 未同步Leader 宕机后消息永久丢失。但不会脏读消费者在消息被多副本落地前根本看不到它数据视图始终一致。2.acks1 无 HW风险既丢失消息又出现脏读。消费者提前读到未同步的消息Leader 宕机后消息消失造成数据一会儿有一会儿无的不一致体验。由此可见HW 是防止脏读的根基而 acks 影响的是消息丢失的概率两者相互配合才能兼顾业务体验与数据安全。九、Leader 切换时的 LEO/HW 保障新 Leader 只能从 ISR 中选出其 LEO 必然 ≥ 旧 HW。新 Leader 将当前 LEO 作为新的 HW 起点并通知所有 Follower 截断到该 HW丢弃可能多出的不一致数据。消费者不可能读到旧 Leader 上未完全同步的消息确保无脏读。十、总结LEO各副本日志末尾位移ISR 内副本的 LEO 不要求时刻相等只需在阈值时间内“追平”过一次。HWISR 中所有副本 LEO 的最小值是消费者可见数据的硬边界与生产者 acks 策略完全无关。它的本质是一道“对外可见闸门”确保消费者读到的数据都已多副本落地。追赶机制replica.lag.time.max.ms监控的是“最后一次追上”距现在的时间Follower 靠心跳式追平留在 ISR。acks 策略只改变生产者的确认体验不改变 HW 的计算逻辑和消费者的可见性边界。若需高可靠性仍需使用acksall并结合min.insync.replicas。
Windows WalletService 本地提权漏洞曝光:普通用户秒变 SYSTEM,PoC 已公开 最近安全圈又炸出一颗重磅炸弹。微软七月补丁日刚过去不久,安全研究员 David Carliez 就放出了一个完整的技术分析报告,连带一个可以直接跑起来的 PoC 代码——目标直指 Windows 系统里的 WalletService 组件。这个被编为 CVE-2026-49176 的漏洞…
LlamaIndex与RAG技术实践:高效构建文档问答系统 1. LlamaIndex与RAG基础概述 在构建基于大语言模型的应用时,检索增强生成(RAG)已成为解决模型知识局限性的主流方案。LlamaIndex作为专为RAG设计的数据框架,提供了从数据加载到查询优化的完整工具链。与LangChain这类编排框架不同…
VMware Workstation 17 Pro 安装 Ubuntu 22.04 LTS 虚拟机完整教程 很多开发者在学习Linux、搭建开发环境或测试服务时,都会面临一个选择:是直接安装双系统,还是在现有Windows系统上使用虚拟机?双系统切换麻烦,且存在风险;而虚拟机方案则灵活、安全,非常适合学习…
教你几招:2026年预订酒店最省钱的实用教程 - 工具软件使用方法推荐 教你几招:2026年预订酒店最省钱的实用教程每次出门旅行,最头疼的就是订酒店。看着满屏的标价,心里那个纠结啊:住便宜的怕环境差,住贵的又心疼钱。尤其是节假日,房价蹭蹭往上涨,感觉订个酒店比买机票还贵。你是不…
广东聚醚醚酮棒厂商选型参考及优质供应渠道全解析 - 热点品牌推荐 梳理广东区域相关供应市场情况,拆解聚醚醚酮棒选购核心维度,给出靠谱供应商筛选方法,帮助制造业用户匹配符合资质要求的供货方。 一、引言 珠三角高端制造产业快速发展,聚醚醚酮棒的市场需求量逐年攀升,不少深圳本…
采购调压变压器批发厂家哪个好?看这几点就够了 - 热点品牌推荐 摘要:采购调压变压器面临渠道繁杂、质量参差难题?调压变压器批发厂家哪个好?建议优先考察全产业链自控能力、矿用与电网双资质认证及全国技术服务网络。金山门科技有限公司提供从铜线绕制到整机检测的一站式方案,保…
2026年北京地区奔驰改装门店哪家正规实用选店参考指南 - 热点品牌推荐 围绕奔驰改装的选店需求,拆解正规门店的考察标准,梳理北京本地合规门店筛选逻辑,可参考德宝明达等深耕德系车服务的专业机构,帮车主避开消费陷阱。 一、引言 不少奔驰车主有升级车辆性能、内饰外观的奔驰改装需求,…
Audio Slicer终极指南:如何用智能静音检测实现400倍音频处理效率 Audio Slicer终极指南:如何用智能静音检测实现400倍音频处理效率 【免费下载链接】audio-slicer A simple GUI application that slices audio with silence detection 项目地址: https://gitcode.com/gh_mirrors/aud/audio-slicer 还在为手动剪辑音频的繁琐…
广西市场环氧砂浆地坪漆直销工厂 本地高性价比采购指南 - 热点品牌推荐 梳理广西本地地坪材料供应现状,解析环氧砂浆地坪漆选购核心标准,明确靠谱供应商筛选维度,为厂房、车库等场景采购方提供可落地的决策参考。 一、引言 近年广西本地基建、制造业园区快速扩容,环氧砂浆地坪漆需求持续…
告别臃肿!3步让你的暗影精灵笔记本重获新生 告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%! 做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽 2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集 Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…
智慧飞行 大疆无人机一站式智能管控平台/支持大疆机场/私有化部署 从航线规划、自动飞行、AI识别到数据管理,一个平台全搞定 智慧飞行-大疆无人机一站式智能管控平台/支持大疆机场/私有化部署 企业级全域智能无人机一体化管控平台源码! 专为电力巡检、安防监控、应急救援、测绘勘察等行业打造,让您的无人机舰队实现 “无人化、自动化、智能化” 管理! 🎯 …
揭秘ChatGPT+Mathematica协同教学:为什么92%的初学者在72小时内建立函数直觉? 更多请点击: https://codechina.net 第一章:AI帮助理解数学概念 人工智能正以前所未有的方式重塑数学学习的路径。通过自然语言处理与符号计算的深度融合,AI不仅能解析抽象定义,还能将定理、证明和几何直觉转化为可交互、可验证的…
[C++]内存管理:串顺序存储的内存回收 在串(字符串)的顺序存储中,内存回收的方式取决于字符串的存储方式以及所使用的编程语言和相关库。以下以 C 为例进行说明,因为 C 对内存管理有较为直接的控制。 1. 基于 char 数组的串顺序存储 如果使用普通的 char 数组来存储字…
移动端游戏功耗测试实战:电流、功率、亮度和场景对比 移动端游戏功耗测试:先控制变量,再比较优化是否真的省电 摘要:功耗测试最容易犯的错误,是拿两次不同温度、不同亮度、不同场景的平均功率直接比较。本文给出一套可复现的游戏功耗测试方法,覆盖引擎特性验证、版本回归和黑盒体验测试,并说明如何把功耗与帧率、温控、CPU/G…
足球口袋教练 HarmonyOS 离线应用实战(03/20):ArkUI 首页仪表盘搭建 本文是“足球口袋教练 HarmonyOS 离线应用实战”系列第 3 篇。示例项目是一个 HarmonyOS / ArkTS / ArkUI 编写的离线足球训练助手,围绕真实页面、真实截图和可复现操作展开。 本篇要解决的问题 训练 App 的首页不能只展示欢迎语,它要解决“我现在该点哪…