The system design library
Search and filter every curated system design video, article, repository and paper in one place.
27 resources
Apache ZooKeeper
The source of the coordination service.
GitHubAdvancedBy Apache Software Foundation · GitHub
Awesome Distributed Systems
A curated list of distributed-systems papers, books, talks and courses.
GitHubAdvancedBy theanalyst · GitHub
Building and Deploying MySQL Raft at Meta
We’re rolling out MySQL Raft with the aim to eventually replace our current MySQL semisynchronous databases. The biggest win of MySQL Raft was simplification of the operation and making MyS…
Case StudiesAdvancedRead hereBy Meta engineers · Meta
Cockroach Labs Blog
Distributed SQL internals: consensus, transactions and multi-region design.
BlogsAdvancedBy Cockroach Labs engineers · Cockroach Labs
CockroachDB
A distributed SQL database built on ranges, Raft and MVCC.
GitHubAdvancedBy Cockroach Labs · GitHub
Database Internals
How storage engines and distributed databases work, from B-trees and LSM-trees to consensus and replication.
BooksAdvancedSold by publisherBy Alex Petrov · O'Reilly
Distributed Systems (4th edition)
A university textbook on distributed systems, free as a PDF.
BooksAdvancedBy Maarten van Steen and Andrew Tanenbaum · distributed-systems.net
Distributed systems theory for the distributed systems engineer
A reading guide to the theory that matters for building distributed systems: failure, time, consensus.
BlogsAdvancedBy Henry Robinson · The Paper Trail
etcd Documentation
The Raft-based key-value store behind Kubernetes: concepts, API and operations.
DocumentationIntermediateBy etcd · CNCF / etcd
etcd Raft library
The production Raft implementation used by etcd, Kubernetes and others.
GitHubAdvancedBy etcd · CNCF / etcd
Google SRE Book: Distributed Periodic Scheduling with Cron
Running scheduled jobs reliably across machines: leader election, state in a replicated store and avoiding duplicate runs.
BlogsAdvancedBy Google SRE team · Google
Google SRE Book: Managing Critical State (Distributed Consensus)
Why systems with critical state use consensus, and how the CAP trade-off plays out in practice.
BlogsAdvancedBy Google SRE team · Google
HashiCorp Raft
A Go implementation of Raft used by Consul and Vault.
GitHubAdvancedBy HashiCorp · GitHub
How Ringpop from Uber Engineering Helps Distribute Your Application
A library that uses gossip and consistent hashing to share work between application instances without a central coordinator.
Case StudiesAdvancedRead hereBy Uber Engineering · Uber
How to do distributed locking
Why a lock without fencing tokens is unsafe, with a critique of the Redlock approach.
BlogsAdvancedBy Martin Kleppmann · martin.kleppmann.com
In Search of an Understandable Consensus Algorithm (Raft paper)
The Raft paper: leader election, log replication and safety explained so that engineers can implement them.
PapersAdvancedBy Ongaro and Ousterhout · Stanford University
Megastore: Providing Scalable, Highly Available Storage (paper)
Synchronous replication across data centres with Paxos while keeping a transactional data model.
PapersAdvancedBy Baker et al. · Google
Patterns of Distributed Systems
A catalogue of named building blocks (replicated log, lease, quorum, gossip, high-water mark) found in systems like Kafka and Cassandra.
BlogsAdvancedBy Unmesh Joshi · Martin Fowler
Paxos Made Live – An Engineering Perspective
Google's paper on the engineering challenges of building a fault-tolerant database on the Paxos consensus algorithm, and how the authors solved them.
BlogsAdvancedBy Google engineers · Google
Paxos Made Simple (paper)
A short, plain-language account of the Paxos protocol for reaching agreement among unreliable machines.
PapersAdvancedBy Leslie Lamport · Microsoft Research
Spanner: Google's Globally Distributed Database (paper)
A globally distributed database that gives strongly consistent transactions by combining consensus groups with clocks whose uncertainty is bounded.
PapersAdvancedBy Corbett et al. · Google
The Byzantine Generals Problem (paper)
The classic account of agreement when some participants may lie or fail arbitrarily.
PapersAdvancedBy Lamport, Shostak and Pease · Microsoft Research
The Chubby Lock Service (paper)
A coarse-grained lock and small-file service built on consensus, used for leader election and configuration; the idea behind ZooKeeper and etcd.
PapersAdvancedBy Mike Burrows · Google
The Raft Consensus Algorithm (site and visualisation)
An interactive animation of Raft plus links to the paper, talks and implementations. The quickest way to see elections and replication happen.
DocumentationIntermediateBy Diego Ongaro and community · raft.github.io