前言 我计划写raft的一系列文章,包含从理论到代码实践,此文章依托于MIT的研究生课程。 背景 raft 是一种分布式的共识算法,其目的是要实现多个节点集群的容错性,一致性从而能够构建大规模的软件系统。 在raft之前,比较有名的是Paxos。但是paxos难于理解。 raft的诞生是为了让共识算法更容易理解,在工程上更容易实现。 和其他的共识算法不同的是,raft具有下面的特点: 1、leader:raft中会有一个领导者具有超级权限,可以把自己的log 复制到其他节点中。 2、leader election: raft每隔一段随机的时间就会进行leader的选举 3、raft允许集群配置