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理论上的确不难,不过呢,还是要自己造一个轮子才知道真正的难度。
- https://www.usenix.org/conference/atc14/technical-sessions/presentation/ongaro
- https://raft.github.io/raft.pdf
- https://raft.github.io/
更多文章
本站热门
- socks5 协议详解
- zerotier简明教程
- 搞定面试中的系统设计题
- frp 源码阅读与分析(一):流程和概念
- 用peewee代替SQLAlchemy
- Golang(Go语言)中实现典型的fork调用
- DNSCrypt简明教程
- 一个Gunicorn worker数量引发的血案
- Golang validator使用教程
- Docker组件介绍(二):shim, docker-init和docker-proxy
- Docker组件介绍(一):runc和containerd
- 使用Go语言实现一个异步任务框架
- 协程(coroutine)简介 - 什么是协程?
- SQLAlchemy简明教程
- Go Module 简明教程