Skip to content

Repository files navigation

Distributed Systems Field Guide

An interactive, interview-focused course on distributed systems. Seven real-world systems dissected through 20 reusable design patterns.

Read the course

What's inside

Part 1: System case studies

System Category Key trade-off
Dynamo Key-value store Sacrifices consistency for availability
Cassandra Wide-column NoSQL Tunable consistency with decentralized design
BigTable Wide-column NoSQL Strong consistency with centralized coordination
Kafka Messaging & streaming Durability and throughput over low latency
GFS Distributed file system Optimized for large sequential reads/writes
HDFS Distributed file system Open-source GFS for batch processing
Chubby Coordination service Strong consistency for small metadata

Each system is covered end-to-end: the problem it solves, architecture, read/write paths, failure handling, and trade-offs.

Part 2: Design patterns

20 reusable patterns that appear across every distributed system:

  • Data distribution: Consistent Hashing, Quorum
  • Replication: Leader and Follower, High-Water Mark
  • Durability: Write-ahead Log, Segmented Log, Checksum
  • Failure detection: Heartbeat, Gossip Protocol, Phi Accrual Failure Detection
  • Consistency: Vector Clocks, CAP Theorem, PACELC Theorem
  • Anti-entropy: Hinted Handoff, Read Repair, Merkle Trees
  • Coordination: Lease, Split-brain, Fencing, Bloom Filters

Every pattern links to the systems that use it. Every system links back to the patterns it relies on.

What makes this different

  • Interview angles in every chapter with practical system design advice
  • Cross-references connecting systems to patterns and patterns to systems
  • Comparison tables for trade-offs, architecture decisions, and failure modes
  • Quick reference cards on every summary page
  • Systems at a Glance page comparing all 7 systems across 12 dimensions

Local development

pnpm install
pnpm start

Opens a local dev server at http://localhost:3000. Changes are reflected live.

Build

pnpm build

Generates static files in the build directory.

Deployment

Deployed automatically to GitHub Pages via GitHub Actions on push to main.

Built with

About

Distributed Systems Field Guide — 7 distributed systems (Dynamo, Cassandra, Kafka, BigTable, GFS, HDFS, Chubby) dissected through 20 reusable design patterns. Interactive learning with quizzes, flashcards, and design challenges.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Used by

Contributors

Languages