Source code available at https://github.com/ongardie/raft-talk.
Unless otherwise noted, this work is:
© 2012-2017 Diego Ongaro,
© 2012-2014 John Ousterhout.
Licensed under the Creative Commons Attribution 4.0 International License.
Top-level system configuration
Replicate entire database state
“The dirty little secret of the NSDI community is that at most five people really, truly understand every part of Paxos ;-).”
—NSDI reviewer
“There are significant gaps between the description of the Paxos algorithm and the needs of a real-world system...the final system will be based on an unproven protocol.”
—Chubby authors
We wanted an algorithm optimized for building real systems
“What would be easier to understand or explain?”
Name | Primary Authors | Language | License |
---|---|---|---|
etcd/raft | Xiang Li and Yicheng Qin | Go | Apache 2.0 |
RethinkDB/clustering | C++ | AGPL | |
TiKV | Jay, ngaut, siddontang, tiancaiamao. | Rust | Apache2 |
hashicorp/raft | Armon Dadgar | Go | MPL-2.0 |
copycat | Jordan Halterman | Java | Apache2 |
LogCabin | Diego Ongaro | C++ | ISC |
Kudu | David Alves, Todd Lipcon, Mike Percy | C++ | Apache2 |
rafter | Andrew Stone | Erlang | Apache2 |
akka-raft | Konrad Malawski | Scala | Apache2 |
OpenDaylight | Moiz Raja, Kamal Rameshan, Robert Varga, Tom Pantelis | Java | Eclipse |
zraft_lib | Gunin Alexander | Erlang | Apache2 |
willemt/raft | Willem-Hendrik Thiart | C | BSD |
peterbourgon/raft | Peter Bourgon | Go | Simplified BSD |
hoverbear/raft | Andrew Hobden, Dan Burkert | Rust | MIT |
raftos | Alexander Zhebrak | Python | MIT |
jgroups-raft | Bela Ban | Java | Apache2 |
... | ... | ... | ... |
Copied from Raft website, probably stale.