Presence in massive rooms

DesignHard45 minMeta and Microsoft style

Your task

Design a presence and typing-indicator system for very large rooms. Some rooms have 500K concurrent members; presence (online/away/offline) and 'X is typing…' must feel real-time (<1s) but you cannot broadcast every keystroke or every member's status change to all 500K clients, that's a fan-out explosion. Members join/leave constantly and connections are flaky mobile sockets.

It covers

  • Typing indicators
  • Large rooms
  • Ephemeral state