(16)云计算核心算法之Paxos算法
2020-12-13 02:25
标签:解决 分布 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