千家信息网

Paxos如何理解

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,这篇文章给大家介绍Paxos如何理解,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。假设有一组可以提出提案的进程集合。一个一致性算法需要保证:在这些被提出的提案中,只有一个会被选定
千家信息网最后更新 2025年01月24日Paxos如何理解

这篇文章给大家介绍Paxos如何理解,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

假设有一组可以提出提案的进程集合。一个一致性算法需要保证:在这些被提出的提案中,只有一个会被选定;如果,没有提案被提出,那么就不会有被选定的提案;当一个提案被选定后,进程应该可以获取被选定的提案信息。

对于一致性来说,安全性(Safety)需求就是这样的:

  • 只有被提出的提案才能被选定。

  • 只能有一个值被选定(chosen),同时

  • 如果某个进程认为某个提案被选定了,那么这个提案必须是真的被选定的那个。

我们不会精确地描述活性(Liveness)需求。整体上来说,目标就是要保证最终有一个提案会被选定,当提案被选定后,进程最终也能获取到被选定的提案。 [†]译注

在该一致性算法中,有三种参与角色,我们用 Proposers , Acceptors 和 Learners 来表示。在具体的实现中,一个进程可能充当不止一种角色,在这里我们并不关心进程如何映射到各种角色。

假设不同参与者之间可以通过发送消息来通信,我们使用普通的非拜占庭模式的异步模型:

  • 每个参与者以任意的速度执行,可能会出错而停止,也可能会重启。当一个提案被选定后,所有的参与者都有可能失败或重启,因此除非那些失败或重启的参与者可以记录某些信息,否则是不可能存在一个解的。

  • 消息在传输中可能花费任意的时间,可能会重复,丢失,但是不会被损坏。

关于Paxos如何理解就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0