A curated resources of raft consensus algorithm and its friends.
NOTE: Contributions are welcome, just create a pull request!
- The Paper: Raft: In Search of an Understandable Consensus Algorithm.
- A nice illustration of raft: Raft Understandable Distributed Consensus
Due to its simplicity, raft is widely implemented in different lanaguages and softwares, here is some of them:
- etcd/raft: golang implentation used inside etcd
- hashicorp/raft: another golang implementation used among hashicorp applications
- brpc/braft: C++ implementation open sourced by Baidu Inc.
- alipay/sofa-jraft: Java implementation by Alipay Inc.
- wenweihu86/raft-java: Raft Java implementation that are simple and easy to understand.
Beside Raft, there are some other consensus algorithms that are frequently discussed.
Chubby is invented by Google, and used as a cornerstone of many distributed softwares.
Zab protocal is used by Zookeeper, and is proven to be a solid and practical.
There are other distributed system, consensus algorithm repo you might be interested: