Distributed systems
Consensus
An algorithm by which unreliable nodes agree on a single ordered history, usually Raft or Paxos in practice.
Consensus is what makes automatic failover safe rather than hopeful. It is also why a consensus store ends up in the availability path of everything that depends on it, inheriting its latency requirements.
Explained in depth
etcd
Raft, quorum and leases in etcd, the fsync latency budget that decides cluster stability, and the space-quota outage - compaction, defragmentation, recovery.
PatroniHow Patroni fails PostgreSQL over - the DCS leader lock, the ttl/loop_wait/retry_timeout rule, watchdog fencing, and a runnable three-node config.
Implemented by
- etcd
- Consul
- Apache ZooKeeper