当前位置: 代码迷 >> 综合 >> Raft 论文
  详细解决方案

Raft 论文

热度:15   发布时间:2024-01-14 08:18:24.0
Raft 一致性算法

??Raft 是一种管理分布式log同步的算法。Raft的强一致性实现主要通过选举一个分布式leader节点,接着这个leader 完成管理分布式log的责任。这个leader 接受来自于client端的请求,它负责同步这个请求日志(log entries)到其他server中,并且还负责告诉其他server 何时可以安全的执行这个请求日志在它们的状态机中。有一个leader可以很简单的管理日志的同步。列如,这个leader 可以决定 新的log日志放在log文件的何处并且不同跟其他server进行商量,数据流也是很简单的从leader 到 其他server。如果一个leader 挂掉了,一个新的leader节点就会被选择出来。
??Raft把一致性问题划分为了三个相对独立的子问题,它们分别为

  1. Leader 选举
  2. Log 同步
  3. 安全性
节点状态
持久型状态
currentTerm Server保存的目前最新的任期(初始为0单调递增)
votedFor 在当前任期接受投票的candidateId
log[] entries log 这个是client的请求日志,每一个entry包含了一个对应状态机的操作