Спроектировать масштабируюмую систему обмена сообщениями (чат)
Референс: Slack
- Обмен сообщениями в реальном времени
- Хранение истории сообщений
- Уведомление о новых сообщениях
- Статус пользователей (offline/online)
- Масштабируемость до 1 000 000 пользователей
- Независимые огранизации
- (опционально) Поддержка мультимедиа
- (опционально) Поддержка доставки/прочтения
- Высокая доступность и отказоустойчивость
- Низкая задержка доставки сообщений
- Безопасность и шифрование данных
- Масштабируемость под рост нагрузки
- Архитектура системы и ключевых компонентов
- Технологии рельного времени (протоколы и инструменты)
- Хранение сообщений
- Подходы к масштабированию
- Обеспечение безопасности данных
- Решение узкий мест
- Реализация уведомлений
Можно использовать что-то свое.