Handbooks  /  Raft vs Paxos
Engineering~9 min readComparison
Head to Head

Raft vs Paxos: same power, different bet

RaftvsPaxos

Raft doesn't do less than Paxos — it's provably equivalent in power. What it does is make one design commitment Paxos avoids, and that single commitment is the entire reason engineers can actually reason about it under pressure.

01

The one distinction that decides everything

Paxos (Leslie Lamport, 1989, published readably in 1998) is a value-at-a-time consensus protocol with Proposer/Acceptor/Learner roles, described in a notoriously abstract way with no inherent persistent leader. Raft (Ongaro & Ousterhout, 2014) was explicitly designed for understandability: a strong, first-class leader handles all client requests and log replication, decomposing consensus into leader election, log replication, and safety as separate, more approachable sub-problems.

→ The rule

Building something new? Raft — it's the well-understood, battle-tested default. Working with or on a system that already uses Paxos, or needing a specific Paxos-variant performance property? That's when Paxos still matters directly.

02

Head to head

DimensionRaftPaxos
OriginOngaro/Ousterhout, 2014, Stanford — explicit understandability goalLeslie Lamport, 1989 (readable 1998 paper)
StructureStrong-leader model, decomposed into 3 clear sub-problemsProposer/Acceptor/Learner, described abstractly
Leader modelLeader election is a first-class part of the protocolNo inherent persistent leader; Multi-Paxos adds one informally
Log handlingEntries strictly commit in orderMulti-Paxos allows some out-of-order entry commits
Real-world adoptionetcd, Consul, CockroachDB, TiKV — default for new systems since 2014Chubby (Google), Spanner-family variants
Ease of correct implementationShown in user studies to be easier to implement correctlyFamously difficult; many systems had subtle bugs
GuaranteesSame safety/liveness as Paxos, under the same failure modelSame safety/liveness as Raft, under the same failure model
03

When each matters

Reach for Raft

  • Building something new
  • Want a well-understood, battle-tested implementation
  • Your team needs to reason about and debug it with confidence
  • General-purpose replicated log / coordination store

Paxos still matters

  • Working with/on systems already built on it (Chubby, Spanner-family)
  • Understanding the theoretical foundation Raft builds on
  • Need a variant’s specific property (Fast Paxos, EPaxos — lower latency, no fixed leader bottleneck)
04

Not a combine — a lineage

Unlike RAG-and-fine-tuning, this isn't a "use both" situation — a system picks one consensus algorithm. But the two didn't develop independently: Raft is essentially Paxos's ideas, restructured specifically for engineers to implement correctly, and understanding Paxos's proposer/acceptor formulation deepens why Raft's leader-election/log-replication split works as cleanly as it does.

→ The lineage

Raft's inventors didn't discover new consensus math — they found a more teachable decomposition of the same problem Paxos already solved, and proved it equivalent.

05

Why a strong leader makes the hard part go away

The actual technical reason Raft feels easier isn't that it does less — it's that Raft makes a design commitment Paxos deliberately avoids: a STRONG LEADER. In Raft, only the current leader can append to the log, and it does so strictly in order, which means most of the hard reasoning collapses into two well-scoped questions: "how do we safely elect and maintain a leader," and "how does a new leader safely reconcile its log with the cluster after a crash" — each with its own formal proof in the Raft paper. Paxos's more general formulation, where any proposer can propose without a mandated order, is strictly MORE flexible — and that flexibility is exactly what later higher-performance variants (Multi-Paxos, Fast Paxos, EPaxos) exploited to reduce latency by avoiding always routing through a single leader.

But that same flexibility is what made the base protocol notoriously hard to get right in a real, partially-failing, network-partitioned production system — more edge cases, more ways for an implementation to be subtly wrong under an interleaving nobody tested. Raft trades away some of that theoretical flexibility for a protocol where the hard cases are fewer, named, and each has a proof — which is a real capability trade, not a free simplification.

→ The trade you’re actually making

Paxos's leaderless flexibility enables lower-latency variants that don't bottleneck on one node. Raft trades that flexibility for a protocol shape engineers can actually hold in their head under pressure — and, per Raft's own user study, implement correctly more often.

06

A worked scenario: why etcd chose Raft

etcd — the coordination store behind Kubernetes — needed a strongly-consistent, replicated store where the implementing engineers could reason with confidence about real edge cases: a leader crashing mid-write, a network partition happening during log replication, a new leader needing to safely reconcile a divergent log. These are exactly the scenarios Raft's decomposition names explicitly and proves safe for.

Raft's paper backs its understandability claim with more than intuition — a user study showed engineers implemented it correctly more often than Paxos given comparable material — and that evidence, not just theoretical elegance, was the deciding factor over adapting an existing Paxos implementation for a system as foundational to Kubernetes' reliability as etcd needed to be.

→ The pattern generalizes

When correctness under real operational failure matters more than squeezing out the last bit of latency, Raft's provable, teachable decomposition tends to win — which is most new systems, most of the time.

Frequently asked

Quick answers

Raft or Paxos — which should I use?

For a new system, Raft — it provides the same guarantees as Paxos but is designed and shown to be easier for engineers to implement correctly and reason about. Paxos remains relevant mainly for systems already built on it, or when a specific variant’s latency properties are needed.

Is Raft less powerful than Paxos?

No — Raft provides the same safety and liveness guarantees as Paxos under the same failure model. It’s not more powerful or less powerful, it’s a different, more teachable decomposition of the same consensus problem.

Why is Paxos considered hard to implement?

Its general, leaderless formulation allows more flexibility (any proposer can propose, not necessarily in strict order), which also means more edge cases and interleavings an implementation must handle correctly — historically a common source of subtle bugs in real systems.

What does Raft’s "strong leader" actually simplify?

By making only the current leader able to append to the log, in strict order, Raft reduces most of consensus’s hard reasoning to two well-scoped, separately-proven problems: safely electing/maintaining a leader, and safely reconciling logs after a leader change.

Raft vs Paxos · Vibe Engines · 2026
Finished this one? 0 / 115 Handbooks done

Explore the topic

See this alongside everything else on the same subject — handbooks, system designs, challenges and tools, in one place.