4.4 逻辑时钟
一致性
1. 知识点论述
「4.4 逻辑时钟」是《分布式计算系统》一致性部分的核心知识点。解释多副本如何读、如何冲突判定,以及强弱一致如何取舍。本知识点首先把握:Lamport 时钟:收到消息后把自己的时钟拨到不小于对方,再加一。C(a) < C(b) 不能证明 a 在真实时间上先发生。学习时请把它放回整门课主线——把独立计算机组织成对用户像一台机器的系统,并用通信、数据放置、复制、容错与调度把这件事做可靠。
2. 视频教程
偏序关系与 Lamport 时钟
3. 知识点详解
下面围绕本知识点展开要点说明,建议结合上方视频边看边对照。
- Lamport 时钟:收到消息后把自己的时钟拨到不小于对方,再加一。C(a) < C(b) 不能证明 a 在真实时间上先发生。
- 向量时钟:每个进程一个分量。可以判断先后,也可以判断两个事件并发。
- 冲突检测:同一数据的两个更新,若向量不可比,就是并发冲突,需要合并规则。
学习建议:先抓住定义与问题,再理解机制步骤,最后对照应用场景思考“何时用、何时不用、代价是什么”。
4. 应用场景
- 版本向量检测并发写冲突。
- 因果消息定序、协作编辑的冲突合并。
- 分布式追踪中理解“逻辑先后”不等于墙钟先后。