Raft算法是一种分布式一致性算法。与paxos相比,它更易理解和工程化。我们完整实现了该算法并将其应用在自研的高可靠消息中间件CMQ中,同时沉淀出对外通用的Raft算法库。本文主要介绍Raft算法的原理、工程化时遇到的问题与解决方案、以及改进性能的措施。分布式系统是指一组独立的计算机,通过网络协同工作的系统,客户看来就如同单台机器在工作。随着互联网时代数据规模的爆发式增长,传统的单机系统在性能和可用性上已经无法胜任,分布式系统具有扩展性强,可用性高,廉价高效等优点,得以广泛应用。但与单机系统相比,分布式系统在实现上要复杂很多。CAP理论是分布式系统的理论基石,它提出在以下3个要素中:Cons