Multiplayer Collaborative Canvas  ·  View 02 of 23  ·  Context and scope

High-Level Architecture

The six stages an operation passes through, and the two that are allowed to fail.

Editable source SVG draw.io All views
Clients Web editor local replica Mobile viewer Edge & admission Front Door + WAF Admission service authn, capability Session tier Session router lease + epoch Session host the sequencer Record Operation log Cosmos DB Lease & epoch Cosmos DB Fan-out Web PubSub presence, viewers Derived & assets Checkpoints Blob Storage Assets content-addressed checkpoint presence pre-signed PUT High-Level Architecture — Edit Path and Fan-Out External / third party Interface / broker Application we own Data store event / async synchronous Editor sockets terminate on the session host; viewers and presence leave through managed fan-out. v 1.0 · owner Platform Architecture · date 2026-10

Decisions

  • Editor sockets terminate on the session host that sequences the document, so the acknowledgement costs one hop and not three. Viewers and presence leave through managed fan-out instead, where an extra hop is free (ADR-06).
  • The operation log is a per-document partition in Cosmos DB rather than a stream broker: 900 million documents need 900 million independent logs, which is a partitioning problem, not a topic problem (ADR-09).
  • Checkpoints are written by the session that already holds the document in memory. No second implementation of document application exists on the write path (ADR-10).

What may fail

  • Fan-out: presence and viewer broadcast are shed under load and have no availability target of their own.
  • Checkpoint store: a cold open fails with a typed error while live sessions carry on from the log.
  • Nothing else. If the log cannot be written, the document goes read-only and says so — the platform never accepts an edit it may lose (ADR-04).

Numbers

  • Ack p99 ≤ 120 ms in-region; remote edit visible p99 ≤ 250 ms; presence p99 ≤ 150 ms.
  • 120,000 operations/second steady, 400,000 for a 60 s burst; 1.5 million presence messages/second after coalescing.
  • All stated assumptions, sized for 300,000 concurrent connections at peak.