raft 协议是一个一致性算法,解决多台机器之间数据一致的问题。raft 声称简洁明了,可以取代非常复杂的 PAXOS 算法。然而翻看 raft 的论文后,会发现即便声称简洁明了,自己完整地实现 raft 还是很麻烦的。
etcd是一个分布式的 key-value 存储组件,它通过 raft 算法保证多台机器数据的一致性。那么 etcd 中的 raft 算法可以提取出来用在自己的项目中吗?
答案是可以的。etcd 不仅实现了 raft,还把 raft 解耦得很完美,完全可以独立使用。代码库点这儿