5.3.3 时钟同步问题:逻辑时钟、向量时钟与 TrueTime (Google Spanner) 在分布式系统里,时间不是一条平滑流淌的河,而是一片被分割、扭曲、甚至局部倒流的沼泽。你有没有遇到过这样的场景:两个微服务分别记录了同一笔订单的“创建”和“支付”事件,数据库里它们的时间戳却显示支付发生在创建之前?又或者,你在调试一个跨机房的数据不一致问题时,发现日志里 A 节点说“已提交”,B 节点却坚称“尚未收到 Prepare 请求”——可它们的本地时钟明明只差 8 毫秒?这不是玄学,这是时钟同步问题在真实世界中的具象化刺痛。 我们常把分布式事务的难点归结于网络分区、节点故障或两阶段提交的阻塞,但真正暗中搅局的,往往是一个更基础、更沉默、也更难驯服的变量:时间本身。