PlanetScale

Consensus algorithms at scale: Part 2 - Rules of consensus

Sep 9, 2020Sugu Sougoumarane
Consensus algorithms at scale: Part 2 - Rules of consensus
SummaryAI, from the source post

This post defines a generalized set of rules for leader-based consensus systems, abstracting away from specific implementations like Paxos and Raft. It emphasizes single-leader designs and outlines four core rules: 1. A leader's job is to fulfill requests by satisfying mandated durability requirements. 2. To elect a new leader, the previous leadership must be terminated, necessary nodes recruited, and previously completed requests propagated to satisfy the new leader's durability requirements. 3. Forward Progress: If a leader election fails, a subsequent re-attempt should have a path to success. 4. Race: If concurrent attempts are made to elect a leader, at most one leader must prevail. These rules are presented as intentionally generic to allow for creative implementations and deviate from traditional requirements like majority quorums and proposal numbers.

More from the Consensus Algorithms trail