Server-sent event fan-out

DesignMedium40 min

Your task

Design a server-push fan-out service using Server-Sent Events (with HTTP long-poll fallback for old proxies) that streams live updates, order status, scores, dashboard metrics, to 3M concurrently-connected browsers. Updates are one-directional server to client, must arrive within ~1 s, and clients must not miss events across reconnects. Why SSE over WebSockets here, and how do you fan out, hold connections, and handle reconnect gaps?

It covers

  • Server sent events
  • Long poll
  • Fan out
  • Backpressure