1. Introduction
  2. Overview
  3. 1. Phases & Labs
  4. 2. Glossary
  5. 3. Toolchain Setup
  6. Phase 1 — Storage Primitives & Foundations
  7. 4. Lab 01 — Storage Primitives
    ❱
    1. 4.1. References
    2. 4.2. Analysis
    3. 4.3. Execution Guide
    4. 4.4. Observation & Debugging
    5. 4.5. Verification
    6. 4.6. Broader Ideas
    7. 4.7. Step 1 — Open and pwrite
    8. 4.8. Step 2 — pread and hexdump
    9. 4.9. Step 3 — Benchmark and page cache
  8. 5. Lab 02 — Data Structures for Storage
    ❱
    1. 5.1. References
    2. 5.2. Analysis
    3. 5.3. Execution Guide
    4. 5.4. Observation & Debugging
    5. 5.5. Verification
    6. 5.6. Broader Ideas
    7. 5.7. Step 1 — Skip list
    8. 5.8. Step 2 — Hash table
    9. 5.9. Step 3 — Bench compare
  9. 6. Lab 03 — Write-Ahead Log
    ❱
    1. 6.1. References
    2. 6.2. Analysis
    3. 6.3. Execution Guide
    4. 6.4. Observation & Debugging
    5. 6.5. Verification
    6. 6.6. Broader Ideas
    7. 6.7. Step 1 — Record framing
    8. 6.8. Step 2 — Append, sync, iterate
    9. 6.9. Step 3 — Group commit bench
  10. 7. Lab 04 — Bloom Filters & Hashing
    ❱
    1. 7.1. References
    2. 7.2. Analysis
    3. 7.3. Execution Guide
    4. 7.4. Observation & Debugging
    5. 7.5. Verification
    6. 7.6. Broader Ideas
    7. 7.7. Step 1 — Hash chain
    8. 7.8. Step 2 — Bit vector add and contains
    9. 7.9. Step 3 — Sizing, encode, FPR
  11. Phase 2 — LevelDB / LSM-Tree
  12. 8. Lab 05 — LSM MemTable
    ❱
    1. 8.1. References
    2. 8.2. Analysis
    3. 8.3. Execution Guide
    4. 8.4. Observation & Debugging
    5. 8.5. Verification
    6. 8.6. Broader Ideas
    7. 8.7. Step 1 — Sorted map
    8. 8.8. Step 2 — Encode and decode
    9. 8.9. Step 3 — CLI cross-test
  13. 9. Lab 06 — SSTable Format
    ❱
    1. 9.1. References
    2. 9.2. Analysis
    3. 9.3. Execution Guide
    4. 9.4. Observation & Debugging
    5. 9.5. Verification
    6. 9.6. Broader Ideas
    7. 9.7. Step 1 — Data block
    8. 9.8. Step 2 — Writer, index, footer
    9. 9.9. Step 3 — CLI cross-test
  14. 10. Lab 07 — LSM Compaction
    ❱
    1. 10.1. References
    2. 10.2. Analysis
    3. 10.3. Execution Guide
    4. 10.4. Observation & Debugging
    5. 10.5. Verification
    6. 10.6. Broader Ideas
    7. 10.7. Step 1 — K-way merge
    8. 10.8. Step 2 — Tombstone purging
    9. 10.9. Step 3 — CLI cross-test
  15. 11. Lab 08 — Block Cache & Iterators
    ❱
    1. 11.1. References
    2. 11.2. Analysis
    3. 11.3. Execution Guide
    4. 11.4. Observation & Debugging
    5. 11.5. Verification
    6. 11.6. Broader Ideas
    7. 11.7. Step 1 — LRU block cache
    8. 11.8. Step 2 — Merging iterator
    9. 11.9. Step 3 — CLI cross-test
  16. 12. Lab 09 — LevelDB Complete
    ❱
    1. 12.1. References
    2. 12.2. Analysis
    3. 12.3. Execution Guide
    4. 12.4. Observation & Debugging
    5. 12.5. Verification
    6. 12.6. Broader Ideas
    7. 12.7. Step 1 — Write path
    8. 12.8. Step 2 — Flush and recovery
    9. 12.9. Step 3 — CLI cross-test
  17. Phase 3 — SQLite / B-Tree
  18. 13. Lab 10 — B-Tree Fundamentals
    ❱
    1. 13.1. References
    2. 13.2. Analysis
    3. 13.3. Execution Guide
    4. 13.4. Observation & Debugging
    5. 13.5. Verification
    6. 13.6. Broader Ideas
    7. 13.7. Step 1 — Tree shape and get
    8. 13.8. Step 2 — Insert and delete
    9. 13.9. Step 3 — Serialize and cross-test
  19. 14. Lab 11 — Pager System
    ❱
    1. 14.1. References
    2. 14.2. Analysis
    3. 14.3. Execution Guide
    4. 14.4. Observation & Debugging
    5. 14.5. Verification
    6. 14.6. Broader Ideas
    7. 14.7. Step 1 — Page I/O and layout
    8. 14.8. Step 2 — LRU cache
    9. 14.9. Step 3 — Cross-language bytes
  20. 15. Lab 12 — SQL Frontend
    ❱
    1. 15.1. References
    2. 15.2. Analysis
    3. 15.3. Execution Guide
    4. 15.4. Observation & Debugging
    5. 15.5. Verification
    6. 15.6. Broader Ideas
    7. 15.7. Step 1 — Tokenizer
    8. 15.8. Step 2 — Parser and AST
    9. 15.9. Step 3 — Serializer and cross-test
  21. 16. Lab 13 — Transactions & MVCC
    ❱
    1. 16.1. References
    2. 16.2. Analysis
    3. 16.3. Execution Guide
    4. 16.4. Observation & Debugging
    5. 16.5. Verification
    6. 16.6. Broader Ideas
    7. 16.7. Step 1 — Version chain and snapshot read
    8. 16.8. Step 2 — Write conflict detection
    9. 16.9. Step 3 — Cross-language bytes
  22. 17. Lab 14 — Indexes & Query Optimization
    ❱
    1. 17.1. References
    2. 17.2. Analysis
    3. 17.3. Execution Guide
    4. 17.4. Observation & Debugging
    5. 17.5. Verification
    6. 17.6. Broader Ideas
    7. 17.7. Step 1 — Secondary index
    8. 17.8. Step 2 — Rule-based planner
    9. 17.9. Step 3 — Cross-language bytes
  23. 18. Lab 15 — SQLite Complete
    ❱
    1. 18.1. References
    2. 18.2. Analysis
    3. 18.3. Execution Guide
    4. 18.4. Observation & Debugging
    5. 18.5. Verification
    6. 18.6. Broader Ideas
    7. 18.7. Step 1 — Pager and rows
    8. 18.8. Step 2 — SQL surface and MVCC
    9. 18.9. Step 3 — Cross-language snapshot
  24. Phase 4 — Consensus Algorithms
  25. 19. Lab 16 — Distributed Fundamentals
    ❱
    1. 19.1. References
    2. 19.2. Analysis
    3. 19.3. Execution Guide
    4. 19.4. Observation & Debugging
    5. 19.5. Verification
    6. 19.6. Broader Ideas
    7. 19.7. Step 1 — Logical clocks
    8. 19.8. Step 2 — Deterministic simulator
    9. 19.9. Step 3 — CLI cross-test
  26. 20. Lab 17 — Raft
    ❱
    1. 20.1. References
    2. 20.2. Analysis
    3. 20.3. Execution Guide
    4. 20.4. Observation & Debugging
    5. 20.5. Verification
    6. 20.6. Broader Ideas
    7. 20.7. Step 1 — Leader election
    8. 20.8. Step 2 — Log replication
    9. 20.9. Step 3 — Cross-test and partition
  27. 21. Lab 18 — Paxos
    ❱
    1. 21.1. References
    2. 21.2. Analysis
    3. 21.3. Execution Guide
    4. 21.4. Observation & Debugging
    5. 21.5. Verification
    6. 21.6. Broader Ideas
    7. 21.7. Step 1 — Single-decree Paxos
    8. 21.8. Step 2 — Multi-Paxos log
    9. 21.9. Step 3 — Cross-language determinism
  28. 22. Lab 19 — ZAB
    ❱
    1. 22.1. References
    2. 22.2. Analysis
    3. 22.3. Execution Guide
    4. 22.4. Observation & Debugging
    5. 22.5. Verification
    6. 22.6. Broader Ideas
    7. 22.7. Step 1 — Epoch and leader election
    8. 22.8. Step 2 — Discovery, sync, and broadcast
    9. 22.9. Step 3 — Cross-language determinism
  29. 23. Lab 20 — Distributed KV Store
    ❱
    1. 23.1. References
    2. 23.2. Analysis
    3. 23.3. Execution Guide
    4. 23.4. Observation & Debugging
    5. 23.5. Verification
    6. 23.6. Broader Ideas
    7. 23.7. Step 1 — Cluster and replica
    8. 23.8. Step 2 — Quorum replication
    9. 23.9. Step 3 — Partitions and catch-up
  30. Phase 5 — Advanced Storage & Capstone
  31. 24. Lab 21 — Advanced Storage Engine
    ❱
    1. 24.1. References
    2. 24.2. Analysis
    3. 24.3. Execution Guide
    4. 24.4. Observation & Debugging
    5. 24.5. Verification
    6. 24.6. Broader Ideas
    7. 24.7. Step 1 — Range tombstones
    8. 24.8. Step 2 — Tiered and universal compaction
    9. 24.9. Step 3 — Cross-language bytes
  32. 25. Lab 22 — Performance & Benchmarking
    ❱
    1. 25.1. References
    2. 25.2. Analysis
    3. 25.3. Execution Guide
    4. 25.4. Observation & Debugging
    5. 25.5. Verification
    6. 25.6. Broader Ideas
    7. 25.7. Step 1 — Counter store
    8. 25.8. Step 2 — Snapshot and workload
    9. 25.9. Step 3 — Bench harness
  33. 26. Lab 23 — Capstone: Distributed Database
    ❱
    1. 26.1. References
    2. 26.2. Analysis
    3. 26.3. Execution Guide
    4. 26.4. Observation & Debugging
    5. 26.5. Verification
    6. 26.6. Broader Ideas
    7. 26.7. Step 1 — Cluster and log
    8. 26.8. Step 2 — Replication and commit
    9. 26.9. Step 3 — Fault injection and catch-up
  34. Phase 6 — Cloud Gateway & Application Networking
  35. 27. Phase 6 Overview & Role Readiness
    ❱
    1. 27.1. Hitchhiker's Guide (warm-up)
    2. 27.2. Interview Playbook
    3. 27.3. References
  36. 28. Lab GW-01 — The L4 Data Plane
    ❱
    1. 28.1. Guide (deep dive)
    2. 28.2. References
    3. 28.3. Analysis
    4. 28.4. Execution
    5. 28.5. Verification
    6. 28.6. Step 1 — TCP proxy & backpressure
    7. 28.7. Step 2 — PROXY protocol & sockopts
    8. 28.8. Step 3 — Graceful drain & load test
  37. 29. Lab GW-02 — L7 Protocols (HTTP/2, gRPC, HTTP/3)
    ❱
    1. 29.1. Guide (deep dive)
    2. 29.2. References
    3. 29.3. Analysis
    4. 29.4. Execution
    5. 29.5. Verification
    6. 29.6. Step 1 — HTTP/2 frame parser
    7. 29.7. Step 2 — HPACK & flow control
    8. 29.8. Step 3 — gRPC & the LB trap
  38. 30. Lab GW-03 — API Gateway (The Zuul Model)
    ❱
    1. 30.1. Guide (deep dive)
    2. 30.2. References
    3. 30.3. Analysis
    4. 30.4. Execution
    5. 30.5. Verification
    6. 30.6. Step 1 — Filter chain
    7. 30.7. Step 2 — Routing & hot-reload
    8. 30.8. Step 3 — Async endpoint & errors
  39. 31. Lab GW-04 — Connection Management (Curbing Churn)
    ❱
    1. 31.1. Guide (deep dive)
    2. 31.2. References
    3. 31.3. Analysis
    4. 31.4. Execution
    5. 31.5. Verification
    6. 31.6. Step 1 — Pool & measure churn
    7. 31.7. Step 2 — Per-event-loop pools
    8. 31.8. Step 3 — Subsetting (Van der Corput)
  40. 32. Lab GW-05 — WebSockets & Pushy
    ❱
    1. 32.1. Guide (deep dive)
    2. 32.2. References
    3. 32.3. Analysis
    4. 32.4. Execution
    5. 32.5. Verification
    6. 32.6. Step 1 — WebSocket server & registry
    7. 32.7. Step 2 — Async delivery via queue
    8. 32.8. Step 3 — Drain & reconnect storm
  41. 33. Lab GW-06 — Resilience & Load Balancing
    ❱
    1. 33.1. Guide (deep dive)
    2. 33.2. References
    3. 33.3. Analysis
    4. 33.4. Execution
    5. 33.5. Verification
    6. 33.6. Step 1 — Power of two choices
    7. 33.7. Step 2 — Adaptive concurrency
    8. 33.8. Step 3 — Retry storms & budgets
  42. 34. Lab GW-07 — Edge Security (mTLS & Zero-Trust)
    ❱
    1. 34.1. Guide (deep dive)
    2. 34.2. References
    3. 34.3. Analysis
    4. 34.4. Execution
    5. 34.5. Verification
    6. 34.6. Step 1 — mTLS & identity
  43. 35. Lab GW-08 — Envoy & the xDS Control Plane
    ❱
    1. 35.1. Guide (deep dive)
    2. 35.2. References
    3. 35.3. Analysis
    4. 35.4. Execution
    5. 35.5. Verification
    6. 35.6. Step 1 — Minimal xDS server
    7. 35.7. Step 2 — Reconcile & dynamic endpoints
  44. 36. Lab GW-09 — Kubernetes Networking Internals
    ❱
    1. 36.1. Guide (deep dive)
    2. 36.2. References
    3. 36.3. Analysis & Exercises
    4. 36.4. Execution
    5. 36.5. Verification
  45. 37. Lab GW-10 — Gateway API, CRDs & Operators
    ❱
    1. 37.1. Guide (deep dive)
    2. 37.2. References
    3. 37.3. Analysis
    4. 37.4. Execution
    5. 37.5. Verification
    6. 37.6. Step 1 — CRD & reconcile loop
    7. 37.7. Step 2 — Program data plane & finalizers
  46. 38. Lab GW-11 — Data-Plane Observability
    ❱
    1. 38.1. Guide (deep dive)
    2. 38.2. References
    3. 38.3. Analysis
    4. 38.4. Execution
    5. 38.5. Verification
    6. 38.6. Step 1 — RED metrics & trace propagation
  47. 39. Lab GW-12 — Capstone: Gateway Migration
    ❱
    1. 39.1. Guide (deep dive)
    2. 39.2. References
    3. 39.3. Analysis & Capstone Exercise
    4. 39.4. Execution
    5. 39.5. Verification
  48. Phase 7 — Platform & Distributed Systems Architecture
  49. 40. Phase 7 Overview & Role Readiness
    ❱
    1. 40.1. Hitchhiker's Guide (warm-up)
    2. 40.2. Architect Interview Playbook
    3. 40.3. References
  50. 41. Lab PA-01 — Microservices Decomposition & Contracts
    ❱
    1. 41.1. Guide (deep dive)
    2. 41.2. References
    3. 41.3. Analysis
    4. 41.4. Execution
    5. 41.5. Verification
  51. 42. Lab PA-02 — API Design (REST, gRPC, Events)
    ❱
    1. 42.1. Guide (deep dive)
    2. 42.2. References
    3. 42.3. Analysis
    4. 42.4. Execution
    5. 42.5. Verification
  52. 43. Lab PA-03 — Event-Driven Architecture
    ❱
    1. 43.1. Guide (deep dive)
    2. 43.2. References
    3. 43.3. Analysis
    4. 43.4. Execution
    5. 43.5. Verification
  53. 44. Lab PA-04 — A Partitioned Log (Kafka in Miniature)
    ❱
    1. 44.1. Guide (deep dive)
    2. 44.2. References
    3. 44.3. Analysis
    4. 44.4. Execution
    5. 44.5. Verification
  54. 45. Lab PA-05 — Delivery Semantics: Outbox & Sagas
    ❱
    1. 45.1. Guide (deep dive)
    2. 45.2. References
    3. 45.3. Analysis
    4. 45.4. Execution
    5. 45.5. Verification
  55. 46. Lab PA-06 — Partitioning & Consistency Models
    ❱
    1. 46.1. Guide (deep dive)
    2. 46.2. References
    3. 46.3. Analysis
    4. 46.4. Execution
    5. 46.5. Verification
  56. 47. Lab PA-07 — Infrastructure as Code
    ❱
    1. 47.1. Guide (deep dive)
    2. 47.2. References
    3. 47.3. Analysis
    4. 47.4. Execution
    5. 47.5. Verification
  57. 48. Lab PA-08 — GitOps & Progressive Delivery
    ❱
    1. 48.1. Guide (deep dive)
    2. 48.2. References
    3. 48.3. Analysis
    4. 48.4. Execution
    5. 48.5. Verification
  58. 49. Lab PA-09 — Reliability: SLOs & Bulkheads
    ❱
    1. 49.1. Guide (deep dive)
    2. 49.2. References
    3. 49.3. Analysis
    4. 49.4. Execution
    5. 49.5. Verification
  59. 50. Lab PA-10 — Architecture in Practice
    ❱
    1. 50.1. Guide (deep dive)
    2. 50.2. References
    3. 50.3. Analysis
    4. 50.4. Execution
    5. 50.5. Verification
    6. 50.6. ADR Template
    7. 50.7. Design-Review Checklist

Distributed Systems Engineer — Build Databases & Consensus From Scratch