proomt

Search

Search posts, papers, and topics

Hall of Fame

Hall of FameDiego Ongaro, John Ousterhout201463 min readpaperadvanced

In Search of an Understandable Consensus Algorithm (Raft)

Summary

Raft is a consensus algorithm for managing replicated logs, designed to be significantly more understandable than Paxos. It achieves this by separating leader election, log replication, and safety, and includes a novel mechanism for cluster membership changes. User studies confirm Raft's improved learnability over Paxos.

  • Raft simplifies distributed consensus for replicated logs, offering a more understandable alternative to Paxos.
  • Its primary design goal was understandability, achieved by decomposing the problem into distinct subproblems like leader election and log replication.
  • User studies demonstrated Raft is significantly easier for students to learn and reason about compared to Paxos.
  • Key features include a strong leader model, randomized leader election timers, and a joint consensus approach for membership changes.

This paper is crucial for anyone building or learning about fault-tolerant distributed systems, as Raft provides a more accessible and practical foundation for replicated state machines than Paxos.

9/10

Related reading

  1. Paxos Made Simple

    Lamport’s “Paxos Made Simple” formalizes the classic Paxos consensus algorithm, detailing its two‑phase prepare/accept protocol and the invariants that guarantee safety under an asynchronous crash‑failure model. It shows how majority quorums, monotonically increasing proposal numbers, and persistent acceptor state ensure a single value is chosen and learned.

    Hall of Fameazurewebsites.net20 minpaperHN657
  2. ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging

    ARIES is a transaction recovery method using write-ahead logging (WAL) that supports fine-granularity locking and partial rollbacks. It introduces the "repeating history" paradigm to redo all missing updates before performing rollbacks of loser transactions during system restart, using Log Sequence Numbers (LSNs) on pages.

    Hall of Famestanford.edu155 minpaper
  3. Squalk: an old-school forum engine built on Nostr (NIP-29 groups, NIP-7D threads)

    Squalk is a SvelteKit‑based forum built on the Nostr protocol, implementing NIP‑29 groups and NIP‑7D threads. It can run in a single‑forum “simple” mode or a multi‑forum “full” mode, with chat sidebars, markdown resources, and optional server‑side rendering for SEO. Configuration is done entirely via `PUBLIC_` environment variables, and deployment scripts support both static hosting and Node SSR,…

    Lobstersgithub.com5 minHN30lobste.rs16
  4. Replica-aware routing public beta

    Replica‑aware routing (public beta) lets ClickHouse Cloud users pin a query stream to a specific replica by sending a custom header (HTTP) or overriding the TLS SNI (native). The proxy (Envoy) hashes the tag and consistently forwards all requests with the same tag to that replica, giving read‑after‑write consistency for temporary tables, session objects, and warm replica caches. Stickiness is bes…

    ClickHouseclickhouse.com6 min