根据 RAFT 论文,它提到除了领导服务器之外的每个服务器都有自己的日志条目及其状态机,每个状态机处理来自日志的相同命令序列。
我对这种情况很少有疑问。
[1] 如果 1 个客户端向领导服务器发出一些请求,这意味着所有跟随服务器都处理请求并产生输出?但是谁用输出与客户端进行通信呢?
[2] 如果第一个问题的答案是只有领导者将输出传回给客户端,那么多个追随者在其状态机中从日志条目计算/处理相同输入的用途是什么。因为已知 RAFT 确保所有日志条目必须包含相同顺序的相同命令。仅领导者在其状态机中处理来自日志的条目并将其返回给客户端就足够了吗?
[3] 此外,如果有多个客户端向服务器发出相同的请求,是只有领导者将输出传达给所有客户端还是跟随者在这里出现?