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 | Blake Mizerany, Xiang Li and Yicheng Qin (CoreOS) | Go | Apache 2.0 |
go-raft | Ben Johnson (Sky) and Xiang Li (CMU, CoreOS) | Go | MIT |
hashicorp/raft | Armon Dadgar (hashicorp) | Go | MPL-2.0 |
copycat | Jordan Halterman | Java | Apache2 |
LogCabin | Diego Ongaro (Stanford, Scale Computing) | C++ | ISC |
akka-raft | Konrad Malawski | Scala | Apache2 |
kanaka/raft.js | Joel Martin | Javascript | MPL-2.0 |
rafter | Andrew Stone (Basho) | Erlang | Apache2 |
OpenDaylight | Moiz Raja, Kamal Rameshan, Robert Varga (Cisco), Tom Pantelis (Brocade) | Java | Eclipse |
liferaft | Arnout Kazemier | Javascript | MIT |
skiff | Pedro Teixeira | Javascript | ISC |
ckite | Pablo Medina | Scala | Apache2 |
willemt/raft | Willem-Hendrik Thiart | C | BSD |
Copied from Raft website, probably stale.