Raft 共识算法

什么是木筏?

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

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

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

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

木筏可视化

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

相关推荐
不会打代码呜呜呜呜10 分钟前
小白零基础--CPP多线程
开发语言·c++·算法
辰尘_星启42 分钟前
【单层神经网络】基于MXNet的线性回归实现(底层实现)
算法·线性回归·mxnet
kcwqxx44 分钟前
day37|完全背包基础+leetcode 518.零钱兑换II ,377.组合总和II
c++·算法·leetcode·动态规划
程序趣谈1 小时前
算法随笔_36: 复写零
数据结构·python·算法
九亿AI算法优化工作室&1 小时前
GWO优化LSBooST回归预测matlab
人工智能·python·算法·机器学习·matlab·数据挖掘·回归
python算法(魔法师版)3 小时前
基于机器学习鉴别中药材的方法
深度学习·线性代数·算法·机器学习·支持向量机·数据挖掘·动态规划
JNU freshman4 小时前
力扣第435场周赛讲解
算法·leetcode·蓝桥杯
眼镜哥(with glasses)4 小时前
蓝桥杯python基础算法(2-2)——基础算法(B)——模拟(上)
算法
赵鑫亿6 小时前
7.DP算法
算法·dp
iqay6 小时前
【C语言】填空题/程序填空题1
c语言·开发语言·数据结构·c++·算法·c#