paxos算法的通俗解释

paxos算法的通俗解释

一、算法概述

1.1 算法目标:

让分布式系统的每个参与者达成一致,从而实现具有容错能力的分布式系统。

1.2 通俗概述

Lamport为了讲述这个算法,假想了一个叫做Paxos的希腊城邦进行选举的情景,这个选举是异步且非拜占庭模型的(消息传送速度不可预测,允许消息的丢失或者重复,但是不会出现内容损坏)。整个算法的大致过程为:

第一阶段:要先明确哪个“提议者”是意见领袖有权提出提议,“接受者”们就主要处理这个“提议者”的提议了(这样,也可以在提出提议时就尽量让意见统一,谋求尽早形成多数派)。

第二阶段:由上阶段选出的意见领袖提出提议,“接受者”反馈意见。如果多数“接受者”接受了一个提议,那么提议就通过了。

二、忽略严密性的通俗解释

2.1 明确意见领袖

每个“提议者”在第一阶段先报个号,谁的号大,谁就是意见领袖。可以想象为贿选:每个提议者先拿着钞票贿赂一圈“接受者”,谁给的钱多,第二阶段“接受者”就听谁的。即:“意见领袖”是在第一轮贿赂成功的“提议者” 。

2.2 尽早形成多数派

“提议者”不会执着于让自己的提议通过,而是执着于让提议尽快达成一致。为了实现这个目标,“提议者”在贿选的时候,若发现“接受者”已经接受过前面意见领袖的提议了,即便贿选成功,也会默默的把自己的提议改为前面意见领袖的提议。

2.3 提议者改变提案的依据

“接受者”在被“提议者”贿赂的时候,会记下贿赂的金额。所以当你贿赂“接受者”时,一旦你给的贿赂多而胜出,“接受者”会告诉你两件事情:a、前任意见领袖的提议内容(如果有的话);b、前任意见领袖当时贿赂了多少钱。

如果你是“提议者”,在贿赂的时候,“接受者1”跟你说“他见过的意见领袖的提议是方案1”,而“接受者2”跟你说“他见过的意见领袖提议是方案2”,只需要判断一下“接受者1”和“接受者2”告诉你的信息中,哪个意见领袖当时给的钱多,就把自己的提议改成那个意见领袖的提议。

2.4 先来后到很重要

在第一阶段中,一旦“接受者”已经接受了之前意见领袖的提议,那后面再来找这个“接受者”的“提议者”,即便在贿赂中胜出,也要将自己的提议改为前任意见领袖的提议,然后他会在第二阶段提出该提议。如果“接受者”之前没有接受过任何提议,那贿选胜出的“提议者”就可以提出自己的提议了。

以上内容摘编整理自GRAYLAMB在知乎发表的文章及CSDN上一篇未署名的转载文章

原文地址:

https://www.zhihu.com/question/19787937/answer/107750652

http://blog.csdn.net/junerf/article/details/6281742

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Paxos算法是一种基于消息传递的一致性算法,具有以下几个特点: 1. 高容错性:Paxos算法可以在存在故障的情况下保证系统的一致性。即使在网络故障或节点故障的情况下,算法仍然能够保证系统能够达成一致的共识。 2. 可扩展性:Paxos算法可以适用于大规模的分布式系统。它支持在系统中增加或减少节点数量,并且能够处理节点之间的通信延迟。 3. 高效性:Paxos算法通过多轮的消息传递来达成共识,但它在正常情况下只需要进行少量的消息传递就能够完成。这使得算法在性能上表现出色。 4. 基于提案的决策:Paxos算法通过提案的方式来进行决策。在算法的执行过程中,各个节点会提出自己的提案,并通过一系列的消息传递来进行投票和最终决策。只有获得大多数节点的同意的提案才会被接受。 5. 可靠性:Paxos算法能够保证系统的可靠性,即使在节点故障或网络故障的情况下,算法仍然能够继续正常运行,并且能够在恢复后达成一致的共识。 综上所述,Paxos算法具有高容错性、可扩展性、高效性、基于提案的决策和可靠性等特点。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Paxos算法](https://blog.csdn.net/zouke314/article/details/120503984)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Paxos算法总结](https://blog.csdn.net/u012414189/article/details/90084684)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值