Raft 共识算法

什么是木筏?

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

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

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

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

木筏可视化

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

相关推荐
汉克老师10 分钟前
GESP2025年3月认证C++二级( 第三部分编程题(1)等差矩阵)
c++·算法·矩阵·gesp二级·gesp2级
sz66cm20 分钟前
算法基础 -- 小根堆构建的两种方式:上浮法与下沉法
数据结构·算法
緈福的街口23 分钟前
【leetcode】94. 二叉树的中序遍历
算法·leetcode
小刘要努力呀!1 小时前
嵌入式开发学习(第二阶段 C语言基础)
c语言·学习·算法
2501_910227541 小时前
如何使用 Solana Yellowstone gRPC 重新连接和重放插槽
区块链
野曙2 小时前
快速选择算法:优化大数据中的 Top-K 问题
大数据·数据结构·c++·算法·第k小·第k大
Codeking__2 小时前
”一维前缀和“算法原理及模板
数据结构·算法
休息一下接着来2 小时前
C++ 条件变量与线程通知机制:std::condition_variable
开发语言·c++·算法
Code哈哈笑2 小时前
【机器学习】支持向量回归(SVR)从入门到实战:原理、实现与优化指南
人工智能·算法·机器学习·回归·svm
努力学习的小廉3 小时前
【C++】 —— 笔试刷题day_29
开发语言·c++·算法