Разработка упрощённого аналога видеохостинга

Разделите загрузку, транскодирование и доставку через CDN. Расчёт в условии ошибочен: 5 млн просмотров в сутки — примерно 58 стартов просмотра в секунду, а не 300.

Короткий ответ

Что ответить на собеседовании

Разделите загрузку, транскодирование и доставку через CDN. Расчёт в условии ошибочен: 5 млн просмотров в сутки — примерно 58 стартов просмотра в секунду, а не 300.

Подробный разбор

Ответ с пояснениями

Условие

Сформулируйте архитектуру системы, похожей на YouTube, реализующей базовый набор возможностей: загрузка видеоматериалов и их воспроизведение. При проектировании учтите следующие параметры:

  • DailyActiveUsers (DAU): 1 000 000 пользователей
  • Среднее количество просмотренных роликов на одного пользователя в сутки — 5
  • Типичный размер видео‑файла — 300 МБ
  • 2 % активных пользователей являются загрузчиками контента
  • Ожидаемая нагрузка на сервис ≈ 300 запросов в секунду (расчёт: 1 000 000 × 5 ÷ (24 × 60 × 60)). Опишите ключевые компоненты решения, включая хранилище данных, обработку запросов и механизм доставки видеоконтента, а также способы масштабирования и обеспечения отказоустойчивости.

Ответ

Разделите загрузку, транскодирование и доставку через CDN. Расчёт в условии ошибочен: 5 млн просмотров в сутки — примерно 58 стартов просмотра в секунду, а не 300.

Загрузка идёт напрямую в объектное хранилище через ограниченный upload-token. Backend фиксирует метаданные и ставит транскодирование в очередь. Workers создают несколько качеств и сегменты HLS/DASH; готовность публикуется только после завершения. Воспроизведение получает manifest, сами сегменты доставляет CDN.

20 тысяч потенциальных загрузчиков в день не означают 20 тысяч роликов без допущения о частоте загрузки. Если каждый загружает один файл 300 МБ, это около 6 ТБ исходников в сутки, плюс производные версии. Полные просмотры 5 млн таких файлов дали бы около 1,5 ПБ передачи в день — только грубая верхнеуровневая оценка. Нужны длительность просмотра, битрейты, пики, репликация и повторяемые задания обработки.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее