分布式中的一致性算法:Paxos 和 Raft 比较
概述
分布式中的一致性可以被描述为在协作解决问题的一组操作之间达成一致的行
为。随着开源分布式计算和存储平台的兴起,一致性算法已成为复制的基本工具。
其中 Paxos 和 Raft 是最受欢迎的一致性算法,通过消除单点故障来提高系统的弹
性。
虽然 Paxos 在分布式一致性方面主导着学术和商业话语,但协议本身太复杂而无
法推理,因此需要更易理解的算法。研究人员对 Paxos 进行了广泛的研究,而
Raft 在工程师中非常受欢迎。Raft 的受欢迎程度来自这样一个事实:尽管研究人
员对 Paxos 感兴趣,但工程师仍然需要阅读几篇论文,以便能够理解并创建解决
实际问题的解决方案,并在通信步骤方面提供良好的性能。此外,他们仍然需要
填补自定义实施的一些空白,这些实施有时会变得非常脆弱。
为了克服这个障碍,Diego Ongaro 和 John Ousterhout 创建了一个名为 Raft 的新
一致性算法,它被设计为更容易理解,并为构建实用系统提供了比 Paxos 更好的
基础。虽然 Raft 为分布式系统的复杂世界带来了一些新鲜血液,但它仍然与 Paxos
有许多共同之处。例如,两者都要选出一位负责决定协商一致的领导者。
在这篇博文中,我们将简要介绍 Paxos 和 Raft 之间的相同点和不同点。首先,我
们将描述一致的算法是什么。其次,我们将描述如何使用一致性算法的实例来构
建复制解决方案。然后我们将描述如何在算法和一些安全和活跃属性中选出领导
者。
一致性
评论