还是log entries
如果需要的话,协议可以优化来减少appendentries rpcs的拒绝数量。例如,当拒绝一个appendentries的时候,follower可以归纳出conflicting entry的term以及它存储那个term的第一个index。有了这些信息,leader就可以绕过所有那个term里面的conflicting entries来减少nextIndex。一个appendentresi rpc是适用用于一个term里面的所有conflicting entries,而不是一个rpc一个entry。在实际中,我们怀疑这种优化是不是必要的,因为failures不经常出现,所以不大可能有许多不一致的entries。
有了这个机制,leader不需要做特殊的动作来保存log的一致。它只需要开启正常的运作,logs就会自动的汇集在回应appendentries的一致性检查的错误。leader从不重写或删除它自己log中的entries(图三的leader append-only原则)
这种log的复制机制展现了第2节中描述的可观的共识特性:raft可以接受,复制,运用新的log entries只要多数节点存活;在通常中,一个新的entry可以只用一轮对大多数集群的rpcs就可以完成复制;并且一些慢的follower并不会影响整体的性能。



