Raft 共识算法

什么是木筏?

Raft 是一种共识算法,旨在易于理解。它 在容错和性能方面与Paxos相当。不同之处在于 它被分解成相对独立的子问题,而且它干净利落 解决了实际系统所需的所有主要部分。我们希望 Raft 能使 更广泛的受众可以达成共识,并且这个更广泛的受众将是 能够开发各种更高质量的基于共识的系统 今天可用。

等等------什么是共识?

共识是容错分布式系统中的一个基本问题。 共识涉及多个服务器就值达成一致。一旦他们达到 对一个值的决定,该决定是最终决定。典型的共识算法使 当他们的大多数服务器可用时,进度;例如,一个 即使 5 台服务器发生故障,由 2 台服务器组成的群集也可以继续运行。 如果更多的服务器出现故障,它们将停止前进(但永远不会返回 不正确的结果)。

共识通常出现在复制状态机的上下文中,一个 构建容错系统的一般方法。每个服务器都有一个状态 机器和日志。状态机是我们想要制作的组件 容错,例如哈希表。在客户看来,他们是 与单个可靠的状态机交互,即使少数 群集中的服务器出现故障。每个状态机都从以下位置获取输入命令 它的日志。在我们的哈希表示例中,日志将包含诸如 set 这样的命令x 到 3 。共识算法用于就 服务器的日志。共识算法必须确保如果任何状态机 将集合 x 应用于 3 作为 n 第命令,没有其他 状态机将永远应用不同的 n第命令。作为 结果,每个状态机处理相同系列的命令,因此 生成相同系列的结果并达到相同系列的状态。

木筏可视化

这是在浏览器中运行的 Raft 集群。您可以与它交互以查看 木筏在行动。左侧显示五台服务器,其日志显示在 右边。我们希望尽快创建一个截屏视频来解释正在发生的事情。这 可视化 (RaftScope) 边缘仍然很粗糙;非常欢迎拉取请求。

相关推荐
此生只爱蛋15 分钟前
【手撕排序2】快速排序
c语言·c++·算法·排序算法
咕咕吖1 小时前
对称二叉树(力扣101)
算法·leetcode·职场和发展
九圣残炎1 小时前
【从零开始的LeetCode-算法】1456. 定长子串中元音的最大数目
java·算法·leetcode
lulu_gh_yu1 小时前
数据结构之排序补充
c语言·开发语言·数据结构·c++·学习·算法·排序算法
丫头,冲鸭!!!2 小时前
B树(B-Tree)和B+树(B+ Tree)
笔记·算法
Re.不晚2 小时前
Java入门15——抽象类
java·开发语言·学习·算法·intellij-idea
为什么这亚子3 小时前
九、Go语言快速入门之map
运维·开发语言·后端·算法·云原生·golang·云计算
星尘安全3 小时前
安全工程师入侵加密货币交易所获罪
安全·区块链·漏洞·加密货币
3 小时前
开源竞争-数据驱动成长-11/05-大专生的思考
人工智能·笔记·学习·算法·机器学习
~yY…s<#>3 小时前
【刷题17】最小栈、栈的压入弹出、逆波兰表达式
c语言·数据结构·c++·算法·leetcode