Войти Регистрация
System design

8. Мессенджер покупателя и продавца

Средняя

Пройдите шаги: уточните требования, оцените нагрузку, выберите решения, нарисуйте схему.

Чат привязан к объявлению: покупатель пишет продавцу. Для расчёта: 60 млн сообщений в сутки, 2 млн одновременных соединений в пик, средний размер сообщения с метаданными — 500 байт.

Нужны статусы «доставлено» и «прочитано», история на всех устройствах, push при закрытом приложении. Мошенники пытаются увести общение в сторонние мессенджеры.

В работе: Сделка на Авито почти всегда начинается с «Ещё актуально?» — медленный чат теряет покупателя.

Как проверяем Шаги с вариантами и расчётами проверяем автоматически: число засчитано, если оно в пределах допуска от эталона. Схему вы оцениваете сами по чек-листу. Зачёт — схема набрала 60 % чек-листа и верны 70 % остальных пунктов. Ответ один на подход: после него показываем разбор.
WebSocketCassandrapushдоставка сообщений

Источник: на задачах Авито: мессенджер по объявлению. Условие пересказано своими словами.

Давали на собеседовании? Ответов пока мало — ваш поможет.
  1. Уточнить требования — Что уточнить?
  2. Оценить нагрузку
  3. Хранилище сообщений — Где хранить историю?
  4. Доставка — Как сообщение доходит до получателя?
  5. Схема — Опишите путь сообщения и статусов.