Raft论文阅读笔记

  • Raft集群中,每个server只有三种状态:leader,follower,candidate(选举)。
  • follower不会主动发送消息,只会接受和响应消息。
  • leader处理所有的客户端请求,如果follower接收到客户端的请求,则转发给leader。
  • candidate是选举状态。

Raft主要是有三点:

  • Leader Election: raft集群里是主从的,leader来进行所有操作,follower不会主动向集群内的其他节点发起请求。
  • Log Replication: leader处理来自客户端的请求,leader把自己的日志发向follower做复制
  • Safety: 只有含有最新的日志的节点可以成为leader,如果收到投票请求时,发现对方的日志没有自己的新,那么久投否决票。

其实总体看下来,Raft理论上的确不难,不过呢,还是要自己造一个轮子才知道真正的难度。



更多文章
  • 经典好书推荐(2017)
  • Golang log库 源码阅读与分析
  • 毕业后一年
  • ansible 简明教程
  • 自己写个搜索引擎
  • HTTP 路由的两种常见设计形式
  • Golang的short variable declaration
  • Greenlet和Stackless Python
  • 写一个简单的ORM
  • 从源码看Python的descriptor
  • Python字符串格式化
  • Gunicorn 简明教程
  • Raft 论文阅读笔记
  • 什么是 Golang Comparable Types
  • GFS 论文阅读