Назад к задачам
Middle — Senior
6

Проектирование масштабируемой архитектуры видеохостинга

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Разработать архитектуру видеохостинга, способную обслуживать более 100 млн пользователей, предоставлять функции загрузки и просмотра видео, а также гарантировать масштабируемость и отказоустойчивость.

Функциональные требования:

  1. Возможность загрузки видеоматериалов в систему.
  2. Просмотр видеоконтента пользователями.
  3. Оценка видео (лайки/дизлайки).
  4. Добавление комментариев к видео.
  5. Система рекомендаций, построенная на истории просмотров.
  6. Поиск видео по ключевым словам и метаданным.
  7. Хранение и трансляция роликов в разных качествах (480p, 720p, 1080p, 4K).

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

  • Более 100 млн зарегистрированных пользователей.
  • Около 50 млн активных пользователей ежедневно.
  • Каждый активный пользователь в среднем смотрит 5 видеороликов в сутки.
  • Объём хранимых данных измеряется в петабайтах.

Дополнительно: сформулировать набор нефункциональных требований (надёжность, безопасность, latency, доступность, масштабируемость, мониторинг и т.д.), которые необходимо учитывать при проектировании системы.