码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-06-17 01:17:33      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:解决   分布   RoCE   序列   proposal   基础   集群   条件   执行   

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

这一系列调度算法中,有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算法

标签:解决   分布   RoCE   序列   proposal   基础   集群   条件   执行   

原文地址:https://www.cnblogs.com/paradis/p/11037295.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!