摘要

一致性问题是分布式领域中的经典问题.在保证可用性和分区容错性的前提下,如何在尽可能短的时间内达到最终一致性仍然是一个挑战性的课题.文中主要针对Raft算法中的事务磁盘持久化和日志的网络同步部分,在复制状态机中的日志模块中增加了内存缓冲池,当一段时间内通信正常,未出错的情况下,将Raft算法中节点日志的更新方式由单次同步改进为批量异步.在持久化部分,采用文件如果超出设定的大小则调用fsync方法写入磁盘.最后,通过实验验证了改进后的Raft算法比原始的Raft算法选举Leader节点的效率高.因此,文中方法提高了Leader节点的选举效率,进而缩短了集群出现故障后恢复服务的时间.