60 млн пользователей по 15 сообщений — 900 млн сообщений в сутки, около 10,4 тыс./с в среднем. Нужны региональные gateways, маршрутизация чатов, устойчивый журнал и отдельное хранение медиа.
Проектирование глобального мессенджера с высокой пропускной способностью
60 млн пользователей по 15 сообщений — 900 млн сообщений в сутки, около 10,4 тыс./с в среднем. Нужны региональные gateways, маршрутизация чатов, устойчивый журнал и отдельное хранение медиа.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Создать дизайн системы обмена сообщениями, доступной по всему миру, поддерживающей групповые чаты, способной обрабатывать огромный объём трафика и обеспечивающей отказоустойчивость на уровне 99.99%.
- Сформировать архитектурную схему мессенджера с учётом глобальной доступности.
- Выделить ключевые подсистемы (серверы обработки сообщений, хранилище медиа‑файлов, БД, уровни кэширования и пр.).
- Разработать стратегию масштабирования для роста пользовательской базы и нагрузки.
- Обеспечить высокий уровень доступности (HA) и устойчивость к отказам.
- Описать процесс обработки сообщений: асинхронные операции, хранение, доставка.
Ожидаемые параметры нагрузки:
- 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%.