ARCHIVED from builddistributedsystem.com on 2026-04-28 — URL: https://builddistributedsystem.com/tracks/timekeeper
Tracks/The Timekeeper
16

The Timekeeper

Intermediate
Foundations|20 tasks

There are no global clocks in distributed systems. This track is about building the abstractions that replace them. You will explore physical time failures, implement Lamport clocks, vector clocks, and hybrid logical clocks.

Subtracks & Tasks

Concepts Covered

system clockclock monotonicityNTPbackward jumpmonotonic clockclock wrapperinformation lossordering guaranteesplit-brainleaseclock driftleader electionTrueTimeGoogle Spanneruncertainty intervalbounded errorexternal consistencycommit waitSpannerlinearizabilityLamport clocklogical timehappened-beforecausal orderingcausalityconcurrent eventsLamport limitationdistributed mutexLamport mutexrequest queuetotal orderingcontentionfairnesswait timequeue orderingmessage complexitytoken ringcentralized mutexalgorithm comparisonvector clockpartial orderdistributed timehappens-beforeconcurrency detectionmessage reorderingcausal deliverydistributed chatdotted version vectorsspace optimizationversion vectorsRiakconflict detectionwrite-write conflictmulti-value registerDynamoDB stylehybrid logical clockphysical timelogical counterCockroachDBcausality preservationclock skew boundNTP correctionepsilon bounddistributed lockHLC timestamppriority orderingtime oraclecentralized clockfailoverbackup oraclesingle point of failurearchitecture decision recordclock comparisonmulti-regiontradeoffs

Prerequisites

It is recommended to complete the previous tracks before starting this one. Concepts build progressively throughout the curriculum.