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



更多文章
  • 结合Flask 与 marshmallow快速进行参数校验
  • 规整数据的重要性
  • apt安装特定包以及忽略升级某个包
  • Goroutine是如何处理栈的?
  • StackGuard的作用
  • Go DiskQueue源码阅读
  • NSQ源码分析
  • NSQ简明教程
  • 结合Redis与MySQL实现又快又好的数据方案
  • 程序员的MySQL手册(五):索引优化
  • 程序员的MySQL手册(四):索引设计
  • 程序员的MySQL手册(三):数据库设计
  • Linux窗口管理器下的截图
  • Go设计模式:facade模式和观察者模式
  • 程序员的MySQL手册(二): 监控与benchmark