Clocks & Ordering
Why wall clocks lie, and how logical clocks and versions restore order.
4 to work through
-
advanced
"Interview. In a multiplayer design tool, two users move the same object at the same moment. Wall-clock timestamps disagree because their machines' clocks differ by 400 ms. How do you decide what the document should show, and what would you say to an engineer who proposes using timestamps?" What is a strong answer?
2 min answer -
advanced
An event-processing platform orders records by the timestamp the producing service attached. Records occasionally appear out of order and some appear to arrive before they were created. What is happening and how should ordering be established?
2 min answer -
advanced
Spanner uses TrueTime — an API that returns a bounded time interval rather than a timestamp — to provide externally consistent distributed transactions. What problem does this solve, what does it cost, and when is the cost not worth paying?
2 min answer -
advanced
Two regions both accept writes to the same user record and resolve conflicts by last-write-wins on timestamp. Users report edits silently disappearing. Explain and fix.
3 min answer
2 terms in this topic
Neighbouring topics
Distributed Systems
General material on partial failure, coordination and distributed reasoning.
CAP & PACELC
What you must give up during a partition, and the latency choice the rest of the time.
Consistency Models
Linearizable, sequential, causal, eventual, and the session guarantees between them.
Idempotency
Making an operation safe to repeat, because a client that times out cannot know.
Retries & Backoff
Exponential backoff, jitter, retry budgets, and how retries become the outage.
Timeouts & Deadlines
Per-hop timeouts that do not compose, and the deadline budget that replaces them.
Circuit Breakers
Failing fast on a broken dependency, and what you fail fast to.
Backpressure & Flow Control
Telling callers to slow down instead of buffering into congestion collapse.
Load Shedding
Rejecting some work deliberately so the rest can be served correctly.
Bulkheads & Isolation
Partitioning resources so one dependency cannot starve the others.
Leader Election
Agreeing who is in charge, and fencing the one who no longer is.
Consensus Protocols
Raft, Paxos and quorums — what they guarantee and what they cost.
Distributed Locking
Mutual exclusion across machines, and why it is harder than it looks.
Distributed Transactions
Two-phase commit, its blocking failure mode, and when it is still reasonable.
Sagas & Compensation
Replacing atomicity with semantic undo, and ordering the irreversible steps last.
Service Discovery
Finding a healthy address for something whose instances are ephemeral.
Messaging & Queues
Decoupling producer from consumer, and the semantics that come with it.
Event Streaming
Retained ordered logs, consumer offsets, partitions and replay.
Failure Modes
Slow rather than down, partial, grey, and failing while reporting success.