0x01 工作模式:Leader-Follower模式。在Raft协议中,每个节点都维护了一个状态机,包含三种状态:Leader、Follower、Candidate。

0x02 工作内容:
-
Leader节点:处理客户端请求的工作节点。
- 0:定期向Follower节点发送心跳,防止其他Folloew节点的选举计时器超时而触发新一轮选举。
- 1:有客户端写入请求到来时,本地追加日志,将其封装成消息后发送给Follower节点。
- 2:半数Follower节点响应了1的对应请求,Leader将该日志记录视为committed。
- 3:处理客户端只读请求。
- Follower节点:响应Leader、Candidate请求;重定向Client的请求到Leader节点。
- Candidate节点:Follower选举后成为Follower。
0x03 选举发生:
心跳超时 -> 选举超时 -> 发生选举,由以下两个时间设置控制。
- 选举超时(election timeout)
一般设置为150ms~300ms之间的随机数 - 心跳超时(heartbeat timeout)
...
网友评论