Computer science 分布式系统中的逻辑顺序和总顺序示例

Computer science 分布式系统中的逻辑顺序和总顺序示例,computer-science,distributed-computing,Computer Science,Distributed Computing,总订单: Lamport时间戳可用于创建中事件的总顺序 通过使用某种任意机制打破联系的分布式系统 (例如,流程的ID) 逻辑顺序: 当两个实体通过消息传递进行通信时,发送事件 被称为“发生在”接收事件之前,以及逻辑顺序 可以在事件之间建立 谁能给我举个例子,让我看到逻辑顺序和总顺序的区别?这两种顺序的区别是什么?既然您正在寻找一个关于逻辑顺序和总顺序之间差异的示例,下面是我以前的分布式算法老师在解释特定主题时告诉我们的一个小故事 假设A欠B一些钱 A在电话中告诉B,A将于下午6点将B在A当地

总订单:

Lamport时间戳可用于创建中事件的总顺序 通过使用某种任意机制打破联系的分布式系统 (例如,流程的ID)

逻辑顺序:

当两个实体通过消息传递进行通信时,发送事件 被称为“发生在”接收事件之前,以及逻辑顺序 可以在事件之间建立


谁能给我举个例子,让我看到逻辑顺序和总顺序的区别?这两种顺序的区别是什么?

既然您正在寻找一个关于逻辑顺序和总顺序之间差异的示例,下面是我以前的分布式算法老师在解释特定主题时告诉我们的一个小故事

  • 假设A欠B一些钱
  • A在电话中告诉B,A将于下午6点将B在A当地分行的账户记入贷方。
  • 所以下午6点以后,B可以随时从A的银行取款
  • 假设B很好,并告诉A的分行,在晚上8点,他们可以将A欠B的钱记入A的账户
  • 所以B的分行基本上会给中央银行服务器打一个借记电话,要求将a所欠的钱转移到B的账户上,这就是将要发生的事情
  • B有足够的时间确保A向B银行表明A有足够的钱,以便A的借记交易能够进行
  • B会认为应该通过,对吗
  • 但事实证明,B分支的本地时间远远领先于实时时间。分行认为现在是晚上8点,但还不到晚上8点
  • A遵守了他的诺言,就在下午6点,A的分支机构恰好很守时。(与实时同步)
  • 所以在下午6点,A已经把A欠B的钱贷记到A的中央银行服务器上
  • 不幸的是,中央银行服务器实时收到B的消息比A发送消息的时间早得多
  • 中央银行服务器没有查看任何逻辑时间。当有借记交易进入时,它会实时查看。银行里有钱支付那些借记交易吗
  • 不,没有。因此,B的请求被拒绝。这是因为在现实场景中,逻辑时钟不够好
那么是什么导致了这里的问题? 事实上,B分支的实时概念与实时完全不一致。B当地银行的计算机可能有一个接近实时的时钟,它要么比实时快,要么比实时慢

A的分支的时间恰好与实时完全同步,但这对A没有帮助

直接理解这个例子似乎有点复杂。 这就是所谓的时钟同步问题

我强烈邀请你们阅读兰波特关于时间、时钟和分布式系统中事件顺序的著作,因为他提出了一种不同的方式来解释这些差异

您可能还会发现这些参考资料非常方便:

  • 关于
  • 我在试图给出答案时,发现了一个关于分布式系统中同步的有趣问题

我希望这能有所帮助。

首先,非常感谢您!你的回答比我预料的要多。