(16)云计算核心算法之Paxos算法

Posted paradis

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(16)云计算核心算法之Paxos算法相关的知识,希望对你有一定的参考价值。

云计算的基础技术是集群技术,支撑集群高效协同工作的需要一系列资源和任务调度算法。

这一系列调度算法中,有3种核心算法奠定了集群互连互通的基础,它们是Paxos算法,DHT算法和Gossip协议。

其中,Paxos算法解决分布式系统中信息一致性的问题。

 

Paxos算法要解决的问题:

Paxos算法要解决的问题是一个分布式系统如何就某个value(指令)达成一致。

为保证每个节点执行相同的命令序列,需要在每一条指令上执行一个“一致性算法”以保证每个节点看到的指令一致

 

Paxos算法的知识背景:

(1)分布式系统中的各个节点称为"processor"

(2)processor可以担任"proposer","accpter","learner"三个角色中的一个或多个角色。

(3)proposal = [num(编号), value],其中num是proposal的编号(按proposal被提出的顺序递增),不同proposal的num必须是不一样的,value就是需要同步的指令。

(4)proposer可以propose(提出)proposal;accepter可以accept(接受)proposal;learner可以学习被choose出来的value。

(5)choose:当一个proposal被大多数(多数派)的accepter所接受时就说这个proposal被choose,同时该proposal的value也被choose。

(6)各个processor之间的信息传递可以延迟,丢失,但是传达到的信息都是正确的

 

Paxos算法的核心:

Paxos算法认为,只要满足以下三个条件就能保证数据的一致性:

(1)一个value只有在被proposer提出之后才可以被choose;

(2)每次只有一个value被choose;

(3)value只有被choose之后才能被learners所获取;

Paxos算法其实就是对条件2的不断加强。

如何保证每次只有一个value被choose(条件2)?

 

以上是关于(16)云计算核心算法之Paxos算法的主要内容,如果未能解决你的问题,请参考以下文章

区块链技术核心算法四:Paxos 算法(一致性算法).

从数据库到区块链共识算法回顾之Paxos

分布式核心原理:Paxos算法的通俗理解

区块链灵魂之:Raft算法详解!

第145集区块链核心算法四:Paxos算法(一致性算法)

分布式一致性最强算法之Paxos透析