Fai*_*lde 6 distributed cluster-computing raft
在 Raft 论文中,他们提到所有客户端交互都发生在领导节点上。我不明白的是,领导者一直在变化。因此,假设我的集群位于负载均衡器之后。如何通知负载均衡器领导者已更改?或者,如果我是对的,负载均衡器是否可以向任何节点(跟随者或领导者)发送客户端请求,并且跟随者节点有责任将请求发送给领导者?
投票结束后,您将拥有一位领导者(新的或旧的)。Leader的职责是通知网络中的所有节点定期(小于网络的保活时间,但大于最大往返时间)向所有节点发送心跳。
您的负载均衡器应该在每次收到心跳时更新领导者。负载均衡器将仅向领导者发送数据,因为根据 raft 算法,所有客户端请求仅直接发送至领导者,其他节点无法发送数据,而只能确认投票和追加命令。
这里有一个非常好的演示:- Raft: Log-Replication