Raft 论文阅读笔记

Raft是用来保证集群数据一致性的协议或者说算法。特点:

  • Strong leader
  • Leader election
  • Membership changes

Raft保证同一个时间内集群内只存在一个Leader(当然是指通信上能够互相连通的集群) 如果Leader节点挂了,那么会进行选举操作,选举需要获得半数以上的投票。

集群内所有节点在刚启动的时候都是Follower状态,然后一段时间后没有收到心跳包, 转而到达选举超时,然后转变成选举态,其中会有一个节点选举成功变成leader,其余变成 follower,如果有两个节点票数相同,那么重新进行选举。

其中投票的时候,每个选举者会先给自己投一票,然后follower会判断term是否大于等于 自己的currentTerm,如果leader收到比自己大的term的心跳包,则变成follower。

Raft协议的核心内容都在论文的第五节,因为笔记在纸质论文上(还是看纸质的论文舒服 随时可以做笔记,眼睛也不那么累),就没有全部搬上来了。


更多文章
  • 读《系统之美:决策者的系统思考》
  • Linux高分屏支持
  • GCC默认的头文件搜索路径
  • 读《远见-如何规划职业生涯3大阶段》
  • 后端工程师学前端(五): SASS
  • 后端工程师学前端(四): CSS进阶(盒子模型)
  • 读《投资中最简单的事》
  • 后端工程师学前端(三): CSS进阶(特指度、单位和字体族)
  • 后端工程师学前端(二): CSS基础知识(规则与选择器)
  • Swift语法笔记
  • 读《管理的实践》
  • 后端工程师学前端(一): HTML
  • frp 源码阅读与分析(二):TCP内网穿透的实现
  • 五天不用微信 - 爽得很
  • frp 源码阅读与分析(一):流程和概念