[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f5IANNkHxVgcTVQUBKh2sXOtXZNnHEQVcH8tMDiMaVE4":3},{"item":4,"related":44},{"id":5,"type":6,"title":7,"slug":8,"summary":9,"body":10,"coverUrl":11,"productScreenshots":12,"productLinks":13,"authorName":14,"authorUrl":15,"authorSubject":16,"category":17,"tags":22,"sourceLabel":35,"sourceName":36,"sourceUrl":37,"status":38,"seoTitle":7,"seoDescription":9,"canonicalUrl":35,"isFeatured":39,"sno":40,"sortOrder":41,"publishedAt":42,"updatedAt":43,"createdAt":43},"9fa30ea6-8110-41fd-b241-37cd2fd2d55f","article","Hybrid Logical Clock：没有可靠全球时钟，分布式系统如何记录先后？","hybrid-logical-clock-distributed-ordering","混合逻辑时钟把接近现实的物理时间与逻辑计数结合起来，在不要求全球时钟完美同步的前提下表达因果顺序。","分布式系统经常需要回答“哪个事件先发生”，但机器的物理时钟既不完全同步，也可能因为校时向前或向后跳变。Hybrid Logical Clock（混合逻辑时钟，HLC）把物理时间和逻辑计数器结合起来，既保持接近现实时间，又能表达事件之间的因果顺序。\n\n可以把它想成墙上的钟加一本记账本。墙钟给出大致的现实时间，记账本在同一时刻发生多个事件时记录递增序号。如果收到一个带有更晚时间戳的消息，本地时钟不能简单地倒退，而是把物理部分和逻辑部分一起调整，让新的事件在排序上位于消息之后。\n\nHLC 通常维护一个接近物理时间的部分和一个逻辑计数部分。发生本地事件、发送事件或接收消息时，算法会比较本地物理时间、当前逻辑值与消息时间戳，并选择不小于这些值的结果；当物理时间没有前进时，就递增逻辑部分。这样，如果事件 A 因果上先于事件 B，时间戳可以保持相应的先后关系。\n\n它不能创造一只真正准确的全球时钟，也不能仅凭时间戳证明两个并发事件谁在现实中先发生。它的优势是时间戳仍然大致可读，适合日志、排序、快照和数据库版本管理；相比纯逻辑时钟，运维人员更容易把时间戳映射到现实时间线。\n\n使用 HLC 时仍要规定时钟回拨、溢出、节点重启和消息延迟的处理方式。若系统需要严格的业务顺序，时间戳还要和事务、版本号或共识机制结合。它解决的是“在不可靠物理时钟上增加可推理顺序”，而不是替代分布式一致性。\n\nHLC 还适合在日志中保留一个既能排序又能大致定位现实时间的标记。排障人员可以先按 HLC 排出因果上合理的顺序，再回看物理时间误差和消息传播；数据库则可以用它辅助判断版本新旧。不过，跨系统比较时仍应统一时钟来源、编码格式和节点重启后的纪元规则。\n\n资料来源：[Hybrid Logical Clocks](https:\u002F\u002Fcse.buffalo.edu\u002F~demirbas\u002Fpublications\u002Fhlc.pdf)","\u002Fuploads\u002F2026-09-26\u002F0bb95ad8-47c0-4ed3-ab8f-421409fff373.jpg",[],[],"Foundit","https:\u002F\u002Ffoundit.cn","foundit-ai-editorial",{"id":18,"name":19,"slug":20,"description":21},"6179d3b6-dc34-4483-9ded-3cd9f1b37a47","科普","abbreviation","介绍各领域新兴概念",[23,27,31],{"id":24,"name":25,"slug":26},"7c76bfc2-f80f-4ee0-a95d-27bd8708b434","技术","slug",{"id":28,"name":29,"slug":30},"4c2bbea6-eab7-40a8-8447-1de478ff7749","分析","analyse",{"id":32,"name":33,"slug":34},"68cedb55-2cac-412f-8f81-fda8c7d686dd","思考","thought",null,"Hybrid Logical Clocks","https:\u002F\u002Fcse.buffalo.edu\u002F~demirbas\u002Fpublications\u002Fhlc.pdf","published",false,56,0,"2026-09-27T00:00:00.000Z","2026-09-26T16:26:31.764Z",[45,54,62],{"id":46,"type":6,"title":47,"slug":48,"summary":49,"coverUrl":50,"authorName":14,"sno":51,"publishedAt":52,"createdAt":53},"58fc0fe2-4392-402e-bd43-68da30f7b50f","RPKI 路由源验证：怎样确认一个网络前缀确实由某个 AS 宣告？","rpki-bgp-route-origin-validation","RPKI 路由源验证通过 ROA 检查前缀与起源 AS 是否匹配。本文解释 Valid、Invalid、NotFound 的含义，以及它为何不验证整条路由路径。","\u002Fuploads\u002F2026-10-06\u002F073132a3-dfee-42bd-b7f1-9f6805946e8b.jpg",40,"2026-10-06T00:00:00.000Z","2026-10-06T07:51:36.206Z",{"id":55,"type":6,"title":56,"slug":57,"summary":58,"coverUrl":59,"authorName":14,"sno":60,"publishedAt":52,"createdAt":61},"d9dbb54d-46d3-4b1b-ad49-e4e049264170","Sloppy Quorum 与 Hinted Handoff：副本故障时，数据能先寄存到别处吗？","sloppy-quorum-hinted-handoff-replica-recovery","Dynamo 风格的宽松 quorum 可在首选副本不可达时暂存写入，并通过 hinted handoff 在故障恢复后补回。本文解释其可用性收益与一致性边界。","\u002Fuploads\u002F2026-10-06\u002Fc62b7ad0-304e-4a21-a245-aeee01573342.jpg",53,"2026-10-06T07:51:44.617Z",{"id":63,"type":6,"title":64,"slug":65,"summary":66,"coverUrl":67,"authorName":14,"sno":60,"publishedAt":42,"createdAt":68},"e4131e64-25af-4b75-8c90-d78212d5b7d9","BBR：网络拥塞为什么不能只看丢包？","bbr-bandwidth-round-trip-congestion-control","BBR 通过估计瓶颈带宽和往返传播时间来调节发送速率，把吞吐、延迟与在途数据纳入拥塞控制，而不是只等待丢包。","\u002Fuploads\u002F2026-09-26\u002F7a21c7b9-a2ee-4f70-b3fe-b10fca22655d.jpg","2026-09-26T16:26:20.942Z"]