IT评测·应用市场-qidao123.com技术社区

标题: Raft算法 [打印本页]

作者: 万万哇    时间: 2025-4-6 09:01
标题: Raft算法
Raft算法用于保证分布式情况下多节点数据的同等性。
原理

Raft算法的主要思想是一个 选主(leader selection) 的算法思想,集群种每个节点都有大概成为三种角色。
三种角色


数据提交过程

分为三个阶段,分别是日记复制和多数节点确认、提交日记、应用状态机。
日记复制和多数节点确认

leader从客户端吸收到写请求后,会将其封装成日记条目, 然后通过AppendEntriesRPC将日记条目并行发送给所有follower节点。
   
  leader需等候 多数节点(包括本身) 确认已乐成复制该条目,才可进行下一步提交。
日记提交(commit)


应用状态机

已提交的日记条目会被应用到状态机。

推选过程

candidate的诞生

初始状态下,所有节点都是follower,每个follower都有一个timer,当follower在timer竣事也没有收到其它节点的vote,该follower就会变成candidate,同时向其它节点发送vote
推选规则

大抵过程

具体推选过程

当candidate节点向本身发送vote后,会根据条件判定是否进行投票(要保证candidate节点的日记条目要新于本身)
follower节点投票规则


各消息体

vote
     每个节点生存的数据信息
   
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4