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理论上的确不难,不过呢,还是要自己造一个轮子才知道真正的难度。



更多文章
  • 短链系统的实现
  • Git HTTPS 如何保存密码
  • 程序员修炼之道 阅读笔记
  • Python开发实践经验
  • Golang实现平滑重启(优雅重启)
  • traefik 教程
  • Web开发系列(十):事务和锁
  • Nginx作为TCP/UDP的负载均衡
  • Web开发系列(九):消息队列,异步任务
  • Web开发简介系列
  • Web开发系列(十一):数据库扩展
  • Nginx 请求匹配规则
  • Web开发系列(六):关系型数据库,ORM
  • Web开发系列(七):缓存,CDN
  • Web开发系列(八):单点故障,负载均衡