Системный дизайн платформы видеохостинга
Условие задачи
Спроектировать систему видеохостинга, способную обрабатывать более 100 млн пользователей, поддерживать просмотр и загрузку видео, а также обеспечивать масштабируемость и отказоустойчивость.
Функциональные требования:
- Загружать видео в систему.
- Просматривать видео.
- Ставить лайки/дизлайки.
- Оставлять комментарии.
- Рекомендации на основе истории просмотров.
- Поиск видео по ключевым словам.
- Хранение и трансляция видео в различных качествах (480p, 720p, 1080p, 4K).
Ожидаемые нагрузки:
- 100+ млн пользователей
- 50 млн активных пользователей ежедневно
- Каждый пользователь смотрит по 5 видео в день
- Объем данных измеряется в петабайтах
Дополнительно: сформулировать нефункциональные требования, которые должна учитывать система.