Системный дизайн мессенджера с высокой нагрузкой
Условие задачи
Спроектировать мессенджер, который будет работать по всему миру, поддерживать общие чаты, обеспечивать обработку сообщений при высокой нагрузке и гарантировать отказоустойчивость на уровне 99.99%.
- Разработать архитектуру мессенджера, учитывая глобальную доступность.
- Определить основные компоненты системы (серверы сообщений, хранилище файлов, базы данных, кеширование и др.).
- Спроектировать механизм масштабирования системы под рост пользователей и нагрузки.
- Обеспечить высокую доступность (HA) и отказоустойчивость.
- Подготовить схему обработки сообщений, включая асинхронные процессы, хранение и доставку сообщений.
Ожидаемые нагрузки:
- 700 млн пользователей в месяц
- 60 млн активных пользователей ежедневно
- 15 сообщений в день от каждого пользователя
- Максимальный размер текстового сообщения — 4096 символов
- Максимальный размер загружаемого файла — 2 ГБ