前言 本文旨在讲述如何使用 Java 语言实现基于 Raft 算法的,分布式的,KV 结构的存储项目。该项目的背景是为了深入理解 Raft 算法...
背景 仔细思考了 Raft 关于配置变更的内容,发现论文中的搞法用代码根本无法实现.......然后开始了 search 的阶段,翻到知乎一篇文...
背景 本文关注实现 Raft 的关键参数。仅做备忘。 1. 跟随者和候选人崩溃 相比较 leader 崩溃,这个要简单的多,当 follower...
Raft 算法浓缩总结 Raft 论文给出了下面的表格,用于总结 Raft 算法精华 。 特性解释选举安全特性对于一个给定的任期号,最多只会有一...
重点 通常一致性算法保证以下几点: 安全性保证:在非拜占庭错误下,都能返回非错误的结果。 可用性:集群只要保证 n/2 + 1 节点可用,那么这...
摘要 名词:线性化操作:每一次操作立即执行,在 TA 调用和收到回复之间,只执行一次。 基本操作 客户端启动时,随机挑选一台服务器。1.1 如过...
背景 什么是配置变更? 说白了,就是动态增减服务器。 假设,一个 Raft 服务器集群的数量刚开始是 3 台,过了 2 个月,由于要搞类似 61...
背景 为了增加一致性算法的正确性,即日志复制的正确性,Raft 又增加了一些安全机制,也就是打补丁。 我们一起来看看。 选举的限制 首先说结论,...
背景 Raft 是分布式一致性算法,保证的实际上是多台机器上数据的一致性,前面说的 leader 选举是为了保证日志复制的一致性。 简单来说,保...
文集作者