Causal consistency collaboration

DesignHard50 minFigma style

Your task

Design the backend for a real-time collaborative issue tracker (think a Linear/Jira board) where comments, status changes, and @-mentions stream to all viewers of a board. The hard requirement is causal consistency, not just eventual: if Alice posts a comment and Bob replies 'fixed in the comment above', no third viewer may ever see Bob's reply before Alice's comment, and a status change that references a comment must order after it, even though clients connect to whichever of 4 regional gateways is nearest and updates propagate async between regions. Scale: 2M boards, busy boards have 500 concurrent viewers, p99 propagation budget 1s within region. You do NOT need total order (two unrelated comments on different boards can be seen in any order). Explain the metadata you attach to each update and how a regional gateway decides when an update is safe to deliver.

It covers

  • Causal consistency
  • Collaborative
  • Version vectors