The moment computation crosses a process boundary over an asynchronous packet network, two fundamental illusions of single-machine programming collapse: partial failure (a remote node or link can fail independently leaving the caller in an ambiguous UNKNOWN state) and the absence of a global physical clock (separate servers possess independent quartz oscillators that drift apart between NTP syncs).

Every distributed protocol in the remainder of this curriculum—from gRPC deadlines, transactional outbox relays, and stream watermarks to Raft consensus, Dynamo quorums, and Google Spanner’s TrueTime—exists to overcome these two realities. This chapter establishes the foundational mechanics of partial failure, idempotent retry safety, physical clock skew bounds, Lamport logical timestamps, and Vector Clocks.

What you will learn

  • Deconstruct the 8 Fallacies of Distributed Computing and distinguish crashed nodes from asymmetric network partitions
  • Handle the three-valued RPC outcome model (SUCCESS, FAILED, UNKNOWN) using deterministic idempotency keys and exponential backoff with full jitter
  • Quantify quartz oscillator drift (PPM), NTP synchronization bounds, and why Last-Write-Wins (LWW) on wall-clock time causes silent data loss
  • Formalize Leslie Lamport's happened-before relation () and implement monotonic logical clocks across message-passing nodes
  • Detect concurrent causal conflicts deterministically using Vector Clocks and Version Vectors
STAGE TOPICS

Topics in this chapter