System Design · Distributed Systems

Distributed Systems

Clocks, consensus, and the hard problems of building at scale.

01
Chapter One

Clocks & Time in Distributed Systems

Why You Can't Trust a Clock in a Distributed System
Coming Soon
Clocks & Time in Distributed Systems
This chapter covers why wall clocks can't be trusted in distributed systems, and how logical and vector clocks solve the ordering problem.
📋 Chapter 1 — Summary
  • Summary content pending.
02
Chapter Two

Consensus Algorithms

Getting N Machines to Agree on One Thing
Coming Soon
Consensus Algorithms
This chapter covers why distributed consensus is hard, how Paxos and Raft solve it, and how Raft's leader election works in practice.
📋 Chapter 2 — Summary
  • Summary content pending.
03
Chapter Three

Distributed Transactions

ACID Across Service Boundaries
Coming Soon
Distributed Transactions
This chapter covers 2PC, its failure modes, and how the Saga pattern enables reliable distributed workflows without a coordinator lock.
📋 Chapter 3 — Summary
  • Summary content pending.
04
Chapter Four

Replication Strategies Deep Dive

The Taxonomy of How Data Gets Copied
Coming Soon
Replication Strategies Deep Dive
This chapter provides a deep analysis of single-leader, multi-leader, and leaderless replication with quorum reads and writes.
📋 Chapter 4 — Summary
  • Summary content pending.
05
Chapter Five

Gossip Protocols & Failure Detection

How Nodes Tell Each Other Who Is Dead
Coming Soon
Gossip Protocols & Failure Detection
This chapter covers gossip protocols, phi accrual failure detection, and how Cassandra uses gossip to maintain cluster membership without a central coordinator.
📋 Chapter 5 — Summary
  • Summary content pending.
06
Chapter Six

Consistent Hashing Deep Dive

Distributing Load Without Rehashing Everything
Coming Soon
Consistent Hashing Deep Dive
This chapter explains consistent hashing rings, virtual nodes, and why this algorithm is the default for distributed caching and sharding.
📋 Chapter 6 — Summary
  • Summary content pending.