advanced

Chat

Design connection management, message ordering, delivery receipts, presence, storage, fan-out, and offline sync. Объясняйте API, data model, bottlenecks и trade-offs.

Чат сочетает real-time доставку, хранение сообщений, порядок в диалоге, presence, read receipt и офлайн-синхронизацию. Типично: WebSocket или SSE gateway, message service, store бесед (partition по chat ID), push для офлайн и медиа в object storage.

Групповые чаты умножают fan-out — fanout service и материализация inbox на пользователя. Порядок — server sequence на канал. E2E шифрование меняет trade-off storage и поиска.

На интервью: flow отправки сообщения, доставка online/offline и порядок в групповом чате.

Типовые ошибки: WebSocket без reconnect и cursor sync; горячий celebrity-chat на одной partition; медиа целиком в БД.

Чеклист:

  • Real-time транспорт и persistent store.
  • Порядок на канал и ack доставки.
  • Push офлайн и catch-up sync.
  • Partition storage по conversation ID.