Free chapter — no signup required
Distributed Systems & Algorithms at Scale
Architectural Styles: Designing the Blueprint
Introduction: What is Software Architecture?
The Monolith: All Eggs in One Basket
The Modular Monolith: The Organized Middle Ground
Microservices: Divide and Conquer
A Note on SOA (Service-Oriented Architecture)
Communication: Event-Driven Architecture (EDA)
Coordination: Orchestration vs. Choreography
Time & Clocks: The Hardest Problem in Distributed Systems
Introduction: What Time Is It, Really?
Physical Clocks: Drift and Synchronization
PTP: When Milliseconds Aren't Good Enough
A Quirky Problem: Leap Seconds
Monotonic Clocks vs. Wall Clocks
The Need for Logical Time
Lamport Timestamps: The Simple Counter
Vector Clocks: Detecting Concurrency
Google TrueTime: The Hybrid Solution
Control Theory: Keeping Systems Stable
Probabilistic Data Structures: Trading Accuracy for Scale
Domain-Driven Design (DDD): Aligning Code with Reality
Introduction: The Communication Gap
Ubiquitous Language: Speaking the Same Tongue
Bounded Contexts: The Big Picture
Tactical DDD: Entities vs. Value Objects
Aggregates: Consistency Boundaries
Domain Events: Communicating Between Aggregates
The Anti-Corruption Layer (ACL)
Repositories: Abstracting Persistence
Resiliency Patterns: Designing for Failure
Consensus Algorithms: How to Agree on the Truth
Introduction: The Problem of Agreement
The FLP Impossibility and Why It Matters
The Core Concept: Quorums
Paxos: The Pioneer
Raft: Consensus for Humans
Raft Concept 1: Leader Election
Raft Concept 2: Log Replication
Zab (ZooKeeper Atomic Broadcast)
The Danger: Split-Brain Scenarios
Practical Considerations: Timeouts, Performance, and Membership Changes
Consistency Models: Making Sense of Replicated Data
Distributed Transactions: Keeping Data Consistent Across Boundaries
Formal Verification: Proving Your System Works
Queueing Theory: The Math of Waiting
Metastable Failures: The Zombie System
Cell-Based Architecture: The Ultimate Fault Isolation
CRDTs: Collaboration Without Conflicts
Leader Election Nuances: The Dangers of Authority
Gossip Protocols: The Viral Network
Distributed Locking: The "Highlander" Problem
Load Shedding: Survival of the Fittest
Event Sourcing & CQRS: Remembering Everything
The Actor Model: Coding Without Locks
Merkle Trees & Ledgers: The Chain of Trust
Consistent Hashing: Scaling Without Chaos
Leaky Bucket vs. Token Bucket: Controlling the Flow
Jepsen Testing: The Database Torture Test
This is one of 18 chapters
Every chapter is free — Kubernetes, Terraform, SRE, distributed systems, and more — with fast daily review built in.
Sign up free