Raft 共识算法

什么是木筏?

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

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

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

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

木筏可视化

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

相关推荐
莫叫石榴姐8 分钟前
数据科学与SQL:组距分组分析 | 区间分布问题
大数据·人工智能·sql·深度学习·算法·机器学习·数据挖掘
茶猫_1 小时前
力扣面试题 - 25 二进制数转字符串
c语言·算法·leetcode·职场和发展
天晟科技2 小时前
GameFi的前景:游戏与金融的未来交汇点
游戏·金融·区块链
Roun32 小时前
Web3和区块链如何促进数据透明与隐私保护的平衡
web3·区块链·隐私保护
肥猪猪爸3 小时前
使用卡尔曼滤波器估计pybullet中的机器人位置
数据结构·人工智能·python·算法·机器人·卡尔曼滤波·pybullet
readmancynn3 小时前
二分基本实现
数据结构·算法
萝卜兽编程3 小时前
优先级队列
c++·算法
盼海4 小时前
排序算法(四)--快速排序
数据结构·算法·排序算法
一直学习永不止步4 小时前
LeetCode题练习与总结:最长回文串--409
java·数据结构·算法·leetcode·字符串·贪心·哈希表
Rstln4 小时前
【DP】个人练习-Leetcode-2019. The Score of Students Solving Math Expression
算法·leetcode·职场和发展