Проектирование глобального мессенджера с высокой пропускной способностью

60 млн пользователей по 15 сообщений — 900 млн сообщений в сутки, около 10,4 тыс./с в среднем. Нужны региональные gateways, маршрутизация чатов, устойчивый журнал и отдельное хранение медиа.

Короткий ответ

Что ответить на собеседовании

60 млн пользователей по 15 сообщений — 900 млн сообщений в сутки, около 10,4 тыс./с в среднем. Нужны региональные gateways, маршрутизация чатов, устойчивый журнал и отдельное хранение медиа.

Подробный разбор

Ответ с пояснениями

Условие

Создать дизайн системы обмена сообщениями, доступной по всему миру, поддерживающей групповые чаты, способной обрабатывать огромный объём трафика и обеспечивающей отказоустойчивость на уровне 99.99%.

  1. Сформировать архитектурную схему мессенджера с учётом глобальной доступности.
  2. Выделить ключевые подсистемы (серверы обработки сообщений, хранилище медиа‑файлов, БД, уровни кэширования и пр.).
  3. Разработать стратегию масштабирования для роста пользовательской базы и нагрузки.
  4. Обеспечить высокий уровень доступности (HA) и устойчивость к отказам.
  5. Описать процесс обработки сообщений: асинхронные операции, хранение, доставка.

Ожидаемые параметры нагрузки:

  • 700 млн уникальных пользователей в месяц;
  • 60 млн активных пользователей ежедневно;
  • в среднем 15 сообщений в сутки от одного пользователя;
  • максимальный размер текстового сообщения — 4096 символов;
  • максимальный размер загружаемого файла — 2 ГБ.

Ответ

60 млн пользователей по 15 сообщений — 900 млн сообщений в сутки, около 10,4 тыс./с в среднем. Нужны региональные gateways, маршрутизация чатов, устойчивый журнал и отдельное хранение медиа.

Для каждого чата задайте порядок через sequence и владельца/шард; клиентский message ID помогает дедупликации. Запись подтверждают после требуемой репликации, затем асинхронно доставляют онлайн-получателям и синхронизируют офлайн. Медиа до 2 ГБ загружают напрямую в object storage частями, раздают через CDN. Размер 4096 символов не равен 4096 байтам. Рассчитайте пики и fan-out групп, разделите крупные и малые чаты. Multi-AZ, региональный failover, контроль RPO/RTO и SLO измеряют отдельно; одна схема не доказывает доступность 99,99%.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее