LeetDesign
← All problems
Hard

Design a Chat Message Store

Store the messages of a global chat app, with delivery to recipient devices fanned out after every send.

Design the messaging backbone of a chat app: clients hold open connections to send messages, page through conversation history, and check their inbox of conversations. Every accepted message lands in an ordered per-conversation log, and delivery to recipient devices fans out from there.