Distributed Systems

Raft

Consensus algorithm explicitly designed to be teachable.


In plain terms

Ongaro & Ousterhout, 2014. Powers etcd, Consul, CockroachDB, TiKV. Easier to reason about than Paxos.

Origin

Diego Ongaro and John Ousterhout, Stanford, "In Search of an Understandable Consensus Algorithm" — published USENIX ATC 2014. Designed explicitly to be easier to teach than Paxos. Ongaro's PhD thesis (also 2014) is the canonical long-form reference.

Where it shows up in production
  • etcd The Kubernetes control plane store. Default Raft implementation in production since ~2014.
  • HashiCorp Consul Raft underneath the KV store and the service registry.
  • CockroachDB & TiKV Raft per range/region. Thousands of independent Raft groups in a single cluster.
On Semicolony
Sources & further reading
Found this useful?