raft游戏下载 raft(18)


?言,Raft 就直接将领导?人选举纳?入到?一致性算法中,并作为两阶段?一致性的第?一步 。这样就减少了了很多机制 。像 Raft ?一样,VR 和 ZooKeeper 也是基于领导?人的,因此他们也拥有?一些 Raft 的优点 。但是,Raft ?比 VR 和 ZooKeeper 拥有更更少的机制因为 Raft 尽可能的减少了了?非领导?人的功能 。例例如,Raft 中?日志条?目都遵循着从领导?人发送给其他?人这?一个?方向:附加条?目 RPC 是向外发送的 。在 VR 中,?日志条?目的流动是双向的(领导?人可以在选举过程中接收?日志);这就导致了了额外的机制和复杂性 。根据 ZooKeeper 公开的资料料看,它的?日志条?目也是双向传输的,但是它的实现更更像 Raft 。和上述我们提及的其他基于?一致性的?日志复制算法中,Raft 的消息类型更更少 。例例如,我们数了了?一下 VR 和 ZooKeeper 使?用的?用来基本?一致性需要和成员改变的消息数(排除了了?日志压缩和客户端交互,因为这些都?比较独?立且和算法关系不不?大) 。VR 和 ZooKeeper 都分别定义了了 10 中不不同的消息类型,相对的,Raft 只有 4 中消息类型(两种 RPC 请求和对应的响应) 。Raft 的消息都稍微?比其他算法的要信息量量?大,但是都很简单 。另外,VR 和 ZooKeeper 都在领导?人改变时传输了了整个?日志;所以为了了能够实践中使?用,额外的消息类型就很必要了了 。Raft 的强领导?人模型简化了了整个算法,但是同时也排斥了了?一些性能优化的?方法 。例例如,平等主义 Paxos (EPaxos)在某些没有领导?人的情况下可以达到很?高的性能 。平等主义 Paxos 充分发挥了了在状态机指令中的交换性 。任何服务器器都可以在?一轮通信下就提交指令,除?非其他指令同时被提出了了 。然?而,如果指令都是并发的被提出,并且互相之间不不通信沟通,那么 EPaxos 就需要额外的?一轮通信 。因为任何服务器器都可以提交指令,所以 EPaxos 在服务器器之间的负载均衡做的很好,并且很容易易在 WAN ?网络环境下获得很低的延迟 。但是,他在 Paxos 上增加了了?非常明显的复杂性 。?一些集群成员变换的?方法已经被提出或者在其他的?工作中被实现,包括 Lamport 的原始的讨论,VR 和 SMART 。我们选择使?用共同?一致的?方法因为他对?一致性协议的其他部分影响很?小,这样我们只需要很少的?一些机制就可以实现成员变换 。Lamport 的基于 α 的?方法之所以没有被 Raft 选择是因为它假设在没有领导?人的情况下也可以达到?一致性 。和 VR 和 SMART 相?比较,Raft 的重新配置算法可以在不不限制正常请求处理理的情况下进?行行;相?比较的,VR 需要停?止所有的处理理过程,SMART 引?入了了?一个和 α 类似的?方法,限制了了请求处理理的数量量 。Raft 的?方法同时也需要更更少的额外机制来实现,和 VR、SMART ?比较?而?言 。


特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。