《云计算技术系列丛书 云原生分布式存储基石: etcd深入解析》—1.4.6小结

举报
华章计算机 发表于 2019/06/03 12:28:41 2019/06/03
【摘要】 本书摘自《云计算技术系列丛书 云原生分布式存储基石: etcd深入解析》一文中的第1章,第1.4.6节,作者是华为云容器服务团队、杜军等编著。

1.4.6 小结

       Raft算法和Paxos算法在设计上存在一个较大的区别,即Raft算法的强领导人特性。Raft算法使用领导人选举作为一致性协议里必不可少的一部分,并且将尽可能多的功能集中到了领导人身上。这样就可以使得算法更加容易理解。

       而在Paxos算法中,领导人选举和基本的一致性协议是正交的—领导人选举仅仅是性能优化的手段,并不是达成一致性的必要途径。但是,这样就增加了多余的机制。

      上文关于Raft算法的介绍大多翻译自Raft论文,同时也融入了笔者自身对这篇论文的理解。笔者认为深入Raft算法的意义在于,Raft算法不仅仅可以作为解决分布式一致性问题的一个理论,还是下文即将展开讨论的etcd的实现基础。如果对Raft算法一无所知的话,那么理解etcd的工作原理就会变得非常困难。

       从上文讨论过的那些RPC可以看出,Raft算法非常重视可实现性,照着论文就能实现一个版本出来,这与Paxos的神话故事化描述完全不同。Raft算法的论文是在2013年发表的,大家可以看到现在已经有很多种不同语言的开源实现库了。这也是Raft因为较好的可理解性而流行的一个佐证。

       下面引用Raft论文最后一节的综述来总结本章的内容。

       算法以正确性、高效性、简洁性作为主要的设计目标。虽然这些都是很有价值的目标,但这些目标在开发者写出一个可用的实现之前都不会达成。因此,我们相信可理解性同样重要。除非开发人员对这个算法有着很深的理解并且有着直观的感觉,否则对他们而言将很难在实现过程中保持原有期望的特性,实现过程中也必然会偏离论文发表时的形式。

参考文献

[1] Seth Gilbert, Nancy Lynch. CAP定理证明[OL]. http://www.glassbeam.com/sites/all/themes/ glassbeam/images/blog/10.1.1.67.6951.pdf.

[2] Eric Brewer. CAP twelve years later: How the "rules" have changed [OL]. http://ieeexplore.ieee.org/document/6133253/?reload=true.

[3] Nancy Lynch. CAP理论的一些观点[OL]. http://groups.csail.mit.edu/tds/papers/Gilbert/Brewer2.pdf.

[4] 维基百科.拜占庭将军问题[OL].https://zh.wikipedia.org/wiki/%E6%8B%9C%E5%8D%A0%E5%BA%AD%E5%B0%86%E5%86%9B%E9%97%AE%E9%A2%98.

[5] FLP定理[OL]. https://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdf.

[6] Brain M.OKi, Barbara Liskov. Viewstamped Replication[OL]. http://www.pmg.csail.mit.edu/papers/vr.pdf.


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。