advanced
Проектирование архитектуры распределенного мессенджера
Разработайте высокоуровневую архитектуру системы для чат-приложения с высокой нагрузкой.
📝 Contenu du Prompt
Разработайте детальную архитектуру для распределенной системы мгновенных сообщений, способной поддерживать 10 миллионов одновременных соединений. Ваш план должен включать выбор протоколов (например, WebSocket, MQTT), стратегию шардирования базы данных для хранения истории сообщений, обеспечение гарантий доставки сообщения (хотя бы один раз, ровно один раз), а также механизм обработки сетевых разделов (network partitions) и поддержания синхронизации состояния пользователя между разными кластерами серверов. Объясните, как вы будете обрабатывать сохранение офлайн-сообщений и минимизировать задержку при доставке.