Distributed Systems Mind Map

Algorithm & Systems Visualizations

Every distributed systems visualization on this site on one map. The branches are the main ideas. Each leaf is a page; the grey line under it is the one thing to remember about it. Click a branch to focus on it, click a page to open it.

Recall mode hides the page names. Read the hint, say the name, then click the "?" to check.

1. How the map is organized

Overview of the distributed systems mind map: Replication, Partitioning, Time and membership, Consensus, Transactions, Messaging, Kafka internals, Redis internals, Kubernetes, Resilience and speed.
The map at a glance: 10 branches, 71 pages.

Ask what problem the page solves and you know its branch:

  • Where does the data live? More copies of the same data is replication; different data on different nodes is partitioning.
  • How do nodes agree? Ordering events and finding failed nodes is time and membership; agreeing on one value or log is consensus.
  • How do services work together? One change across services is transactions; passing events is messaging; surviving overload is resilience.
  • Is it about one real system? Pages on how Kafka, Redis or Kubernetes work inside go on their own branch.

2. The main ideas side by side

BranchQuestion it answersKey toolWhat goes wrong
ReplicationHow do copies stay in sync?WAL shipping, quorums, CRDTsstale reads, lost writes
PartitioningWhich node holds this key?hash ring, ranges, hash slotshot spots, resharding
Time and membershipWhat happened first? Who is alive?logical clocks, gossipno shared clock
ConsensusHow do nodes agree on one log?majority votes (Raft, Paxos)split votes, no majority
TransactionsHow do many services change together?2PC, sagas, outboxblocking, partial failure
Messaging, KafkaHow do events reach consumers?logs, offsets, acksduplicates, lag
Redis, KubernetesHow does a real system do it?event loop, reconcile loopfailover, eviction, restarts
Resilience and speedHow to survive load and faults?caches, breakers, rate limitscascading failure

3. Five facts to remember

  • A majority of 2f+1 nodes can tolerate f crashes; Byzantine faults need 3f+1.
  • During a network partition a system must choose: stay consistent or stay available (CAP).
  • With N replicas, R + W > N means every read overlaps the latest write.
  • Networks lose and repeat messages, so consumers must be idempotent: exactly-once is at-least-once plus dedup.
  • Consistent hashing moves only about 1/N of the keys when a node joins or leaves.

See all distributed systems pages in the index, or the other mind maps.