S. *_*man 6 distributed-computing
我正在阅读一致性模型,但似乎无法理解分布式系统中因果关系的概念。我用谷歌搜索了很多,但没有找到这个概念的很好的解释。人们通常会解释为什么因果关系是个好东西,但基本概念是什么?
假设您正在询问分布式系统中事件之间因果关系的基本概念,以下内容可能会帮助您走上正确的道路。
在分布式系统的所有进程共享的完美同步时钟不存在的情况下,Leslie Lamport 引入了逻辑时钟的概念。逻辑时钟通过所谓的“之前发生的关系” (一种因果关系)为分布式系统中发生的事件建立部分顺序。
为了进一步说明,同一台机器上的事件可以通过依赖本地时钟来排序。但是,对于跨流程边界的事件,这通常不是一个选项。特别是,我们使用以下见解来建立系统中消息传递事件的因果关系:send(m)at processp发生在receive(m)at process之前q。这使我们能够在这些事件之间建立因果关系。
我不确定我的解释有多大帮助,但是,如果您还没有这样做,Leslie Lamport 的原始论文《分布式系统中的时间、时钟和事件顺序》应该可以帮助您理清思路。接下来,您可能想看看Spanner:Google 的全球分布式数据库,以一种创造性的方式来处理分布式系统中的时间问题 (TrueTime)。
希望这可以帮助。