Raft

Raft is a consensus algorithm designed for understandability, published by Ongaro and Ousterhout in 2014. Raft separates leader election, log replication, and safety into distinct concepts and is implemented widely in etcd, Consul, CockroachDB, TiKV, MongoDB, and many other production systems.

API entry from apis.yml

apis.yml Raw ↑
aid: consensus:raft
name: Raft
description: Raft is a consensus algorithm designed for understandability, published by Ongaro and Ousterhout
  in 2014. Raft separates leader election, log replication, and safety into distinct concepts and is implemented
  widely in etcd, Consul, CockroachDB, TiKV, MongoDB, and many other production systems.
humanURL: https://raft.github.io/
baseURL: https://raft.github.io
tags:
- etcd
- Leader Election
- Log Replication
- Raft
properties:
- type: Specification
  url: https://raft.github.io/raft.pdf
- type: Documentation
  url: https://raft.github.io/
- type: Reference
  url: https://thesecretlivesofdata.com/raft/
x-features:
- Strong leader simplifies log replication
- Randomized election timeouts
- Membership changes via joint consensus
- Snapshotting for log compaction
x-useCases:
- etcd, Consul, CockroachDB, TiKV, MongoDB replica sets
- Replicated key-value stores
- Configuration management for orchestrators