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

问题描述 投票:2回答:2

总订单:

Lamport时间戳可用于创建以下事件的总顺序:使用任意机制打破联系的分布式系统(例如进程的ID)。

逻辑顺序:

[当两个实体通过消息传递进行通信时,则发送事件据说是发生在接收事件之前,并且逻辑顺序可以在事件之间建立

enter link description here

[谁能给我一个例子,让我看到逻辑顺序和总顺序的区别吗?这两个订单有什么区别?

computer-science distributed-computing
2个回答
3
投票

由于您正在寻找有关逻辑顺序和总顺序之间差异的示例,所以这是我的老分布式算法老师在想解释该特定主题时告诉我们的一个小故事。

  • 假设A欠B一些钱。
  • A在电话上告诉B,A将在下午6点贷给B在A本地分支机构中的帐户。
  • 因此,下午6点以后的任何时间,B都可以从A的银行取款。
  • 假设B很好,并在晚上8点告诉A的分支机构。他们可以从A的帐户中扣除A欠B的钱。
  • 因此,B的分支机构将基本上对中央银行服务器进行借记呼叫,要求将A欠的钱转移到B的帐户中,这将发生。
  • [B被给予A足够的时间以确保A已向B银行指示,A拥有足够的钱,以便A的借记交易可以进行。
  • B认为应该通过,对吗?
  • 但是事实证明,B的分支机构的本地时间远远早于实时时间。该分行以为现在是晚上8点,还不是晚上8点。
  • A恰好在下午6点正信守诺言,随着时间的推移,A的分支恰好很好。 (与实时同步)
  • 因此,在下午6点,A已将A欠B的金额记入A的中央银行服务器的贷方。
  • [不幸的是,中央银行服务器实时收到B的消息的时间比A发送消息的时间要早​​得多。
  • 中央银行的服务器没有逻辑时间。它正在实时查看借方交易的发生。银行中是否有钱支付这些借方交易?
  • 不,没有。因此,B的请求被拒绝了。这是在现实情况下逻辑时钟不够好这一事实的结果。

是什么引起了这里的问题?事实是,B的分支的实时概念与实时完全矛盾。 B本地银行的计算机的时钟可能接近实时。它的运行速度比实时时钟快或比实时时钟慢。

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

此示例似乎有点难以理解。这称为时钟同步问题

[我强烈邀请您阅读有关时间,时钟和分布式系统中事件的顺序]的兰莫特paper,因为他提出了另一种解释差异的方法。

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


0
投票

RE:“不,没有。因此,B的请求被拒绝。这是因为在现实世界中,逻辑时钟不够好,我认为您的意思是“实际时钟不够好”,是吗?由于逻辑时钟是解决此问题的公认方法。

© www.soinside.com 2019 - 2024. All rights reserved.