4 为了了可理理解性的设计
设计 Raft 算法我们有?几个初衷:它必须提供?一个完整的实际的系统实现基础,这样才能?大?大减少开发者的?工作;它必须在任何情况下都是安全的并且在?大多数的情况下都是可?用的;并且它的?大部分操作必须是?高效的 。但是我们最重要也是最?大的挑战是可理理解性 。它必须保证对于普遍的?人群都可以?十分容易易的去理理解 。另外,它必须能够让?人形成直观的认识,这样系统的构建者才能够在现实中进?行行必然的扩展 。在设计 Raft 算法的时候,有很多的点需要我们在各种备选?方案中进?行行选择 。在这种情况下,我们评估备选?方案基于可理理解性原则:解释各个备选?方案有多?大的难度(例例如,Raft 的状态空间有多复杂,是否有微妙的暗示)?对于?一个读者?而?言,完全理理解这个?方案和暗示是否容易易?我们意识到对这种可理理解性分析上具有?高度的主观性;尽管如此,我们使?用了了两种通常适?用的技术来解决这个问题 。第?一个技术就是众所周知的问题分解:只要有可能,我们就将问题分解成?几个相对独?立的,可被解决的、可解释的和可理理解的?子问题 。例例如,Raft 算法被我们分成领导?人选举,?日志复制,安全性和?角?色改变?几个部分 。我们使?用的第?二个?方法是通过减少状态的数量量来简化需要考虑的状态空间,使得系统更更加连贯并且在可能的时候消除不不确定性 。特别的,所有的?日志是不不允许有空洞洞的,并且 Raft 限制了了?日志之间变成不不?一致状态的可能 。尽管在?大多数情况下我们都试图去消除不不确定性,但是也有?一些情况下不不确定性可以提升可理理解性 。尤其是,随机化?方法增加了了不不确定性,但是他们有利利于减少状态空间数量量,通过处理理所有可能选择时使?用相似的?方法 。我们使?用随机化去简化 Raft 中领导?人选举算法 。
5 Raft ?一致性算法Raft 是?一种?用来管理理章节 2 中描述的复制?日志的算法 。图 2 为了了参考之?用,总结这个算法的简略略版本,图 3 列列举了了这个算法的?一些关键特性 。图中的这些元素会在剩下的章节逐?一介绍 。Raft 通过选举?一个?高贵的领导?人,然后给予他全部的管理理复制?日志的责任来实现?一致性 。领导?人从客户端接收?日志条?目,把?日志条?目复制到其他服务器器上,并且当保证安全性的时候告诉其他的服务器器应?用?日志条?目到他们的状态机中 。拥有?一个领导?人?大?大简化了了对复制?日志的管理理 。例例如,领导?人可以决定新的?日志条?目需要放在?日志中的什什么位置?而不不需要和其他服务器器商议,并且数据都从领导?人流向其他服务器器 。?一个领导?人可以宕机,可以和其他服务器器失去连接,这时?一个新的领导?人会被选举出来 。通过领导?人的?方式,Raft 将?一致性问题分解成了了三个相对独?立的?子问题,这些问题会在接下来的?子章节中进?行行讨论:
? 领导选举:?一个新的领导?人需要被选举出来,当现存的领导?人宕机的时候(章节 5.2)
? ?日志复制:领导?人必须从客户端接收?日志然后复制到集群中的其他节点,并且强制要求其他节点的?日志保持和?自?己相同 。
? 安全性:在 Raft 中安全性的关键是在图 3 中展示的状态机安全:如果有任何的服务器器节点已经应?用了了?一个确定的?日志条?目到它的状态机中,那么其他服务器器节点不不能在同?一个?日志索引位置应?用?一个不不同的指令 。章节 5.4 阐述了了 Raft 算法是如何保证这个特性的;这个解决?方案涉及到?一个额外的选举机制(5.2 节)上的限制 。
- 人生低谷的时候,怎么寻找出路?
- 我的世界大全 我的世界
- 网上怎样找女朋友 网上找人上哪个网站怎么寻找亲人
- 87%以上新兵拥有大专学历,低学历当兵如何寻找出路?
- 寻找尸源女 玩尸女的看法
- 超级巨星游戏下载
- 寻找那遗失的年味
- 寻找乡村的味道
- 寻找心灵的故乡
- 创业扶持项目 如何寻找创业项目
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
