Senior Track Roadmap

System Design: gossip protocols

This course explains gossip protocols: how a large group of machines agrees on facts about itself when no machine is in charge. It starts from an application that coordinates by polling a shared database and a health check, and shows why that design fits its size. The lessons cover how gossip spreads in logarithmic rounds, failure detection with SWIM and indirect probes, which data shapes merge safely, systems such as Consul, Cassandra and Redis Cluster, and cheaper options to try before adopting gossip.

What you'll learn

  • ✓Polling intervals as a coordination budget: queries per second times participants
  • ✓The gossip loop and why it converges in about log N rounds
  • ✓Failure detection with SWIM, indirect probes and refutation by version
  • ✓Merge rules that must be commutative, associative and idempotent, as in CRDTs
  • ✓How Consul, Serf, Cassandra and Redis Cluster use gossip, and why Kubernetes uses etcd
  • ✓Cheaper alternatives to try before adopting a gossip protocol
Free preview · Lesson 1 5 min read

Coordination without a center

A gossip protocol is how a large group of machines agrees on facts about itself when no machine is in charge. The way to understand it is to look first at what this application does instead.

Read the full lesson free →

Curriculum

7 lessons
Type to start searching...