Login
欢迎来到未来世界

您现在的位置是: 首页 > 计算机 > 区块链

区块链

paxos算法谁提出的(paxos的原理和机制是什么)

区块链 加入收藏
Paxos算法解决的问题是在一个可能发生消息可能会延迟、丢失、重复的分布式系统中如何就某个值达成一致,保证不论发生以上任何异常,都不会破坏决议的一致性。一个典型的场景是,在一个分布式数据库系统中,如果


Paxos算法解决的问题是在一个可能发生消息可能会延迟、丢失、重复的分布式系统中如何就某个值达成一致,保证不论发生以上任何异常,都不会破坏决议的一致性。
一个典型的场景是,在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点都执行相同的操作序列,那么他们最后能得到一个一致的状态。为保证每个节点执行相同的命令序列,需要在每一条指令上执行一个“一致性算法”以保证每个节点看到的指令一致。
一个通用的一致性算法可以应用在许多场景中,是分布式计算中的重要问题。 节点通信存在两种模型:共享内存和消息传递。Paxos算法就是一种基于消息传递模型的一致性算法。
分析Paxos算法的目的


Paxos算法的目的是为了解决分布式环境下一致性的问题。多个节点并发操纵数据,如何保证在读写过程中数据的一致性,并且解决方案要能适应分布式环境下的不可靠性(系统如何就一个值达到统一)。
Paxos算法中,可分为4种角色:
Proposer:提议发起者
处理客户端请求,将客户端的请求发送到集群中,以便决定这个值是否可以被批准。
Acceptor:提议批准者
负责处理接收到的提议,他们的回复就是一次投票。会存储一些状态来决定是否接收一个值。
Client:产生议题者
Proposer就像Client的使者,由Proposer使者拿着Client的议题去向Acceptor提议,让Acceptor来决策。
Learner:最终决策学习者
最终学习的目标是Acceptor们最终接受了什么议题?
Paxos算法的原理

例如:公司商定年会举办的地点,每个人都可以提出建议。在现实环境中我们可以在一个会议室共同讨论或在微信群中讨论(基于内存共享方式);但在基于消息传递的分布式环境中每个人只能通过手机短信与其它人通过。如何在这种会延迟、丢失的环境中确定一个年会举办地点。
Paxos算法是这样解决这个问题:
每个人都可以提出建议、同意建议、接受建议
少数服从多数。只要建议被多数人同意即可确定该建议。
于是确定以下讨论方式:
1)只有被提出来的建议才能被大家同意。
2)最终只能确定一个建议。
3)如果某个人认为大家同意了某 个建议,那么这个建议必须真的是被大家同意的。
Paxos算法图解


一个典型的场景是,在分布式数据库系统中,如果每个节点的初始状态是一致的,并且每个节点执行相同的操作序列,那么它们最终可以获得一致的状态。为了保证每个节点执行相同的命令序列,需要对每个指令执行一个“一致性算法”,以保证每个节点看到的指令是一致的。
一个通用的一致性算法可以应用于很多场景,是分布式计算中的一个重要问题。节点之间的通信有两种模式:共享内存和消息传递。Paxos算法是一种基于消息传递模型的一致性算法。
分析Paxos算法的目的

Pax OS算法的目的是解决分布式环境下的一致性问题。多个节点并发操作数据,如何保证读写过程中数据的一致性,解决方案要能适应分布式环境下的不可靠性(系统如何在一个值上实现统一)。


在实现环境中会通过一次提议,选择一个Leader。后续所有的提议都只能由Leader提出。
原来paxos算法里的角色都是这样的不靠谱,不过没关系,结果靠谱就可以了。该算法就是为了追求结果的一致性。
图集详情底部广告位