Skip to content

Consistency, Causality and Convergence

Six connected engineering decisions: wall-clock ordering, lamport logical clocks, version vectors, causal visibility, offline CRDT counters, invariant confluence.

Start series →

Follow the decisions in order

  1. Part 1 of 6
  2. Part 2 of 6

    Staff

    How do Lamport clocks establish event order without synchronized clocks?

    Logical time and why Lamport clocks cannot detect concurrency.

  3. Part 3 of 6

    Staff

    How would you use version vectors to detect concurrent writes?

    Comparing vectors, siblings and vector growth.

  4. Part 4 of 6

    Principal

    How would you design a causally consistent database across regions?

    Causal dependency tracking (COPS-style) and its metadata cost.

  5. Part 5 of 6

    Staff

    How would you design a distributed counter that merges after an offline period?

    G-Counters, PN-Counters, OR-Sets and their invariants.

  6. Part 6 of 6

    Staff

    Which distributed-system invariants require coordination?

    Classifying invariants and using escrow or ownership where needed.