Raft算法详解:最容易理解的分布式一致性算法 📅 发布时间:2026/7/6 12:09:17 👁️ 浏览次数: Raft算法详解最容易理解的分布式一致性算法2026版Raft 是目前最容易理解的分布式一致性算法。它不是为了取代 Paxos而是专门设计成“让普通程序员也能看懂”的版本。一句话总结Raft “选村长 村长发公告 大家抄公告”只要大多数节点过半同意系统就能保持一致即使部分节点宕机、网络分区。Raft 被广泛用于Etcd、Consul、TiKV、CockroachDB、Kubernetes等核心组件。下面用最白话 图解 类比帮你彻底搞懂。1. 为什么需要 Raft背景故事在分布式系统中多个节点要对“数据”达成一致比如账户余额、配置、任务分配但会出现节点宕机网络延迟、分区消息丢失、乱序传统 Paxos 太难懂论文被吐槽“像读天书”。Raft 的作者说“我们把 Paxos 拆成领导者选举 日志复制 安全性三个独立模块每个模块都像生活中的事。”2. Raft 的三大角色超级好记任何一个节点在任意时刻只可能是以下三种角色之一Follower追随者普通村民听村长的话默认状态。Candidate候选人想当村长的人选举时临时角色。Leader领导者/村长唯一一个发号施令的人所有写操作必须经过它。关键规则一个任期内只能有一个 Leader后面会讲“任期”。3. 任期Term—— Raft 的“时间戳”任期是一个单调递增的数字0、1、2、3…。每次选举成功后任期 1。收到更高任期的消息 → 立刻变成 Follower 并更新自己的任期保证旧 Leader 自动下台。类比公司换 CEO每换一次就换一个“届数”新 CEO 说话永远比旧的管用。4. 阶段一领导者选举Leader Election—— 最核心部分正常情况下Leader 每隔一段时间给所有 Follower 发心跳HeartbeatAppendEntries 空消息。Follower 收到心跳 → 重置自己的选举超时计时器随机 150~300ms。如果 Leader 挂了某个 Follower 的计时器先超时 → 变成 Candidate任期 1给自己投一票并向其他节点发RequestVote请求。其他节点收到请求如果 Candidate 的任期更高 日志至少一样新 → 投票。每个节点每个任期只投一票。Candidate 收到过半票数→ 成为新 Leader开始发心跳。如果选票分裂没人过半→ 大家超时后重新选举随机超时避免一直打平。生活类比村长突然死了村里喇叭喊“谁想当村长举手”先喊的人先拉票谁拉到超过半数村民就当选。5. 阶段二日志复制Log Replication—— 真正干活的部分客户端所有写操作SET keyvalue必须发给 Leader。过程超级简单看图秒懂Leader 把命令追加到自己的日志Log中。Leader 通过AppendEntries消息把日志复制给所有 Follower。Follower 收到后追加到自己日志并回复 ACK。Leader 收到过半 ACK→ 把这条日志标记为committed已提交。Leader 把 committed 的结果返回给客户端。Leader 在下一次心跳里告诉 Follower “哪些日志已经 committed”Follower 也标记为 committed。应用到状态机执行到内存/数据库。即使 Leader 挂了新 Leader 上台后会自动把缺失的日志补齐给 Follower通过日志匹配。6. Raft 的三大安全保证为什么可靠选举安全一个任期最多一个 Leader过半票保证。日志匹配如果两个日志在同一位置有相同任期和索引则前面所有日志完全相同。Leader 完备性已 committed 的日志永远不会被覆盖新 Leader 必须包含所有已 committed 日志。这些保证让 Raft即使在网络分区、节点任意宕机重启的情况下仍能保证一致性。7. Raft 在真实系统中的样子2026 现状EtcdKubernetes 默认存储→ 纯 RaftConsul→ Raft GossipTiKV→ Raft 多组每个 Region 一个 Raft 组CockroachDB→ Raft字节、阿里、腾讯内部很多自研存储也用 Raft 或其变种8. Raft vs 其他算法快速对比算法难度是否易理解是否有 Leader实际使用场景Paxos★★★★★极难无固定早期 Google 系统Raft★☆☆☆☆极易有固定绝大多数新系统Zab★★☆☆☆中等有固定ZooKeeperViewstamped★★★☆☆中等有固定较少最后送你一句话心法背下来就忘不了“Raft 就是选村长 村长统一发通知 大家同步抄作业”只要大多数人过半同意系统就一定是一致的。想再深入吗我可以立刻给你手写 Raft 伪代码200 行以内Etcd 中 Raft 的真实配置参数Raft 动画视频推荐 模拟器链接Raft 面试 10 道高频题带答案直接说“我要 XXX”我马上发现在你是不是觉得 Raft 也没那么可怕了
Python 高效操作文件与 HTML 网页基础入门 Python 高效操作文件 与 HTML 网页基础入门 (2025–2026 实用写法,适合有基础但想快速上手文件/网页处理的同学) 一、文件操作(推荐现代写法) 1. 文本文件最推荐的写法(with utf-8) # 读取整… 2026/5/17 8:00:26
开学季|预防近视,要看孩子“远视储备”还剩多少 开学后,不少家长发现孩子看东西开始眯眼、凑近、频繁揉眼睛,去检查后才知道,孩子的远视储备已经快要耗尽。很多家长误以为“孩子现在视力正常就没事”,却忽略了远视储备是预防近视的关键“预警信号”。根据国家卫健委发布的… 2026/7/6 15:57:38
掌握大模型核心技术:从Prompt Engineering到Context Engineering,收藏这份进阶指南! 本文深入探讨了AI领域从Prompt Engineering到Context Engineering的演进,阐述了二者在构建可扩展智能体系统中的区别与联系。Prompt Engineering聚焦于指令设计,而Context Engineering则强调动态上下文构建与管理。文章详细解析了RAG架构、向量数据库选型… 2026/7/6 23:09:32
天辛大师漫谈AI时代的如梦令,人类梦想的理解如实记录 天心大师漫谈AI时代的如梦令:梦想的理解也须如实记录跨越时空的哲思,国学视角解构技术迷局的智者,总能在代码与诗行间找到奇妙的共鸣点。当被问及如何用传统词牌《如梦令》观照AI时代,沉吟片刻,缓缓道来:“… 2026/7/7 3:26:31
幼小衔接拼音APP怎么选?适趣拼音为什么适合系统学习拼音? 幼小衔接拼音APP怎么选?适趣拼音为什么适合系统学习拼音? 很多家长到了幼小衔接阶段,都会突然意识到一个问题:拼音不能等到一年级再完全从零开始。 不是说孩子一定要提前学完所有内容,而是如果孩子对拼音完全陌生&… 2026/7/7 3:26:31
Maya动画渲染太慢?一篇文章教你用云渲染,大幅缩短出图时间(附渲染101使用教程) 对于很多做Maya动画的朋友来说,真正耗时间的往往不是建模、绑定或者动画,而是最后的渲染。尤其是使用 Arnold 渲染时,一个镜头可能几百帧,甚至几千帧。如果每一帧需要2~5分钟,那么一个几十秒的动画,往往就需… 2026/7/7 3:26:31
“打卡式”上了一堆系统 + 不断贴身定制开发,别提AI Ready了,反欠了一身技术债 For:CIO、CTO、数字化负责人、先进制造企业CEO 从一家先进制造企业的SAP BTP实践,看复杂制造企业如何走出“接口堆系统”的技术债 核心观点|复杂制造企业的AI Ready,往往不是从模型开始,而是从“干净核心、可控扩展、现… 2026/7/7 3:22:31
OpenClaw无捆绑安装包,安全纯净版AI助手部署 大家好啊,我是你们的老朋友。最近后台收到不少私信,问有没有那种“干干净净、不夹带私货”的AI助手部署工具。说实话,我自己也踩过很多坑——下载一个所谓的“一键安装包”,结果桌面多了个浏览器主页,开机自启多了三个… 2026/7/7 3:20:30
pymoo多目标优化框架架构深度解析与高级应用实践 pymoo多目标优化框架架构深度解析与高级应用实践 【免费下载链接】pymoo NSGA2, NSGA3, R-NSGA3, MOEAD, Genetic Algorithms (GA), Differential Evolution (DE), CMAES, PSO 项目地址: https://gitcode.com/gh_mirrors/py/pymoo 在复杂工程系统设计与决策支持领域&… 2026/7/7 3:18:30
Acunetix v24.8 深度解析:DAST漏洞扫描器核心原理与DevSecOps实践 1. 项目概述:Acunetix v24.8 高级版漏洞扫描器深度解析作为一名在网络安全领域摸爬滚打多年的老兵,我深知一款趁手的“兵器”对于安全测试工作意味着什么。今天要聊的,就是Web应用安全测试领域里一个响当当的名字——Acunetix。特别是其v24.8… 2026/7/7 0:01:11
如何3步搞定加密视频下载:跨平台资源嗅探与解密工具终极指南 如何3步搞定加密视频下载:跨平台资源嗅探与解密工具终极指南 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是… 2026/7/7 0:03:13
Jailhouse-gui可视化管理工具:让多核处理器分区变得简单高效 Jailhouse-gui可视化管理工具:让多核处理器分区变得简单高效 【免费下载链接】Jailhouse-gui A graphical user interface (GUI) tool for configuring and managing Jailhouse, a Linux-based hypervisor for partitioning multicore processors into isolated cel… 2026/7/7 0:03:13
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/6 8:43:22
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/6 7:29:49
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/6 7:29:51