- - 瀚海星空
Raft是一种共识算法,用于多个分布式的系统,如zookeeper,谷歌chubby. 其核心思想是由一个leader作为入口,由他来对数据进行接受和分发处理. 该唯一leader必须得到多数节点的选票. 所以即使集群分裂,最终还是会有多数节点会达成一致. 适用于彼此可信的节点环境. candidate 临时角色,没有leader时由follower转成.
- - zzm
ZooKeeper的一致性算法赏析. 本篇文章想总结下Raft和ZAB在处理一些一致性问题上的做法,详见之前对这2个算法的描述. ZooKeeper的一致性算法赏析. 上述分别是针对如下算法实现的讨论:. copycat,由于Raft算法本身已经介绍的相当清晰,copycat基本上和Raft算法保持一致.
- - 掘金架构
强一致性、高可用的存储组件是构建现代分布式系统的必要条件,广泛应用于注册中心、配置中心等平台设施中,分布式锁、协调器等等各类场景需求也有相关需求,在该领域有众多知名的开源组件,如etcd、zookeeper、Tikv等等. 共识算法是实现这类组件的关键算法. 简单的说共识算法是协调多个节点达成共识的算法,这是构建高可用系统的基石.
- - zzm
分布式一致性协议Raft原理与实例. Raft是由Stanford提出的一种更易理解的一致性算法,意在取代目前广为使用的Paxos算法. 目前,在各种主流语言中都有了一些开源实现,比如本文中将使用的基于JGroups的Raft协议实现. 关于Raft的原理,强烈推荐 动画版Raft讲解. 在Raft中,每个结点会处于下面三种状态中的一种:.
- - idea's blog
为什么 Leader Based 的分布式协议 Raft 是更好的. 这个问题隐式地表达了 Paxos 多主特性是不好的. 之前谈过, Paxos 不区分读写, 读和写都要进行完整的 Paxos prepare-accept 两阶段流程, 否则, 就无法保证一致性. 事实上, 我看过一些 Paxos 实现, 它们基于优化的考虑, 简化了 prepare-accept 两阶段流程, 最终失去了一致性保证而不自知.
- - 掘金后端本月最热
注:本文原创,转载请先通过公众号或掘金联系作者申请. 定期发送干货,实践经验、系统总结、源码解读、技术原理. 笔者期望通过一篇权威靠谱、清晰易懂的系统性文章,帮助读者深入理解 Raft 算法,并能付诸于工程实践中,同时解读不易理解或容易误解的关键点. 本文是 Raft 实战系列理论内容的整合篇,我们结合 Raft 论文讲解 Raft 算法思路,并遵循 Raft 的模块化思想对难理解及容易误解的内容抽丝剥茧.
- -
Raft协议比paxos的优点是 容易理解,容易实现. 它强化了leader的地位,把整个协议可以清楚的分割成两个部分,并利用日志的连续性做了一些简化:
(1)Leader在时. 由Leader向Follower同步日志
(2)Leader挂掉了,选一个新Leader,Leader选举算法. 但是本质上来说,它容易的地方在于流程清晰,描述更清晰,关键之处都给出了伪代码级别的描述,可以直接用于实现,而paxos最初的描述是针对非常理论的一致性问题,真正能应用于工程实现的mulit-paxos,Lamport老爷爷就提了个大概,之后也有人尝试对multi-paxos做出更为完整详细的描述,但是每个人描述的都不大一样.
- - DockOne.io
受翻译影响,网上很多讨论 paxos 或 raft 的博客使用“分布式一致性协议”或者“分布式一致性算法”这样的字眼,虽然在汉语中“达成共识”和“达成一致”是一个意思,但是必须要说明在这里讨论的是 consensus 问题,使用“共识”来表达更清晰一些. 而 CAP 定理中的 C 和数据库 ACID 的 C 才是真正的“一致性”—— consistency 问题,尽管这两个 C 讨论的也不是同一个问题,但在这里不展开.
- - 极客公园
通过多年的经营,苹果已经形成了基于硬件的「苹果生态」,生态中的用户哪怕不满意,也难以放弃苹果的硬件产品. 这个观点早已在理论和实践上得到了佐证. 上周,著名科技评论家 Ben Thompson 发表文章,他在苹果生态系统之外,给了另一个近似但更有预见性的判断:苹果正在建立自己的社交网络. 月初,苹果发布新一季财报,同时宣布将从 2019 财年起不再公布 iPhone、iPad、Mac 的销售数据.