Raft 论文阅读笔记
Raft是用来保证集群数据一致性的协议或者说算法。特点:
- Strong leader
- Leader election
- Membership changes
Raft保证同一个时间内集群内只存在一个Leader(当然是指通信上能够互相连通的集群) 如果Leader节点挂了,那么会进行选举操作,选举需要获得半数以上的投票。
集群内所有节点在刚启动的时候都是Follower状态,然后一段时间后没有收到心跳包, 转而到达选举超时,然后转变成选举态,其中会有一个节点选举成功变成leader,其余变成 follower,如果有两个节点票数相同,那么重新进行选举。
其中投票的时候,每个选举者会先给自己投一票,然后follower会判断term是否大于等于 自己的currentTerm,如果leader收到比自己大的term的心跳包,则变成follower。
Raft协议的核心内容都在论文的第五节,因为笔记在纸质论文上(还是看纸质的论文舒服 随时可以做笔记,眼睛也不那么累),就没有全部搬上来了。
更多文章
本站热门
- socks5 协议详解
- zerotier简明教程
- 搞定面试中的系统设计题
- frp 源码阅读与分析(一):流程和概念
- 用peewee代替SQLAlchemy
- Golang(Go语言)中实现典型的fork调用
- DNSCrypt简明教程
- 一个Gunicorn worker数量引发的血案
- Golang validator使用教程
- Docker组件介绍(一):runc和containerd
- Docker组件介绍(二):shim, docker-init和docker-proxy
- 使用Go语言实现一个异步任务框架
- 协程(coroutine)简介 - 什么是协程?
- SQLAlchemy简明教程
- Go Module 简明教程