1. 逻辑时钟和物理时钟

在分布式场景中,我们需要时间来判断不同节点上事件发生的先后顺序。

物理时钟可以用严格的绝对时间来表明事件的发生顺序,但是在分布式环境中,各个节点由于网络等因素无法做到完全一致的时间。即使使用NTP时间同步,也会有纳秒的误差。在这个误差时间内,可能会发生很多事件,那么这些事件的先后顺序就很难判断了。

Time, Clocks and the Ordering of Events in a Distributed System这篇论文的作者Leslie Lamport 在1978年提出逻辑时钟的概念。在分布式环境中,通过一系列规则来定义逻辑时钟的变化。......