我如何实际使用 Raft 算法

Fai*_*lde 6 distributed cluster-computing raft

在 Raft 论文中,他们提到所有客户端交互都发生在领导节点上。我不明白的是,领导者一直在变化。因此,假设我的集群位于负载均衡器之后。如何通知负载均衡器领导者已更改?或者,如果我是对的,负载均衡器是否可以向任何节点(跟随者或领导者)发送客户端请求,并且跟随者节点有责任将请求发送给领导者?

Man*_*odi 3

投票结束后,您将拥有一位领导者(新的或旧的)。Leader的职责是通知网络中的所有节点定期(小于网络的保活时间,但大于最大往返时间)向所有节点发送心跳。

您的负载均衡器应该在每次收到心跳时更新领导者。负载均衡器将仅向领导者发送数据,因为根据 raft 算法,所有客户端请求仅直接发送至领导者,其他节点无法发送数据,而只能确认投票和追加命令。

这里有一个非常好的演示:- Raft: Log-Replication