Уточнение требований | Какие основные функции должна выполнять система? | Система должна позволять пользователям загружать видео, просматривать их и оставлять комментарии |
| Сколько пользователей будет у системы? | Ожидается около 10 миллионов активных пользователей в месяц |
| Какой ожидается рост пользовательской базы? | Прогнозируется рост на 20% ежегодно в течение следующих 3 лет |
| Какие основные сценарии использования системы? | Загрузка видео, просмотр видео, поиск видео, комментирование |
Определение масштаба | Какой ожидаемый объем данных? | Ожидается хранение около 500 ТБ видео и 50 ГБ метаданных |
| Какое соотношение операций чтения к записи? | Ожидается соотношение 100:1 чтения к записи |
| Какая ожидаемая пиковая нагрузка на систему? | До 100 000 запросов в секунду в пиковые часы |
Определение API | Какие основные API endpoints нужны? | /upload, /view, /search, /comment |
| Какие параметры будут у этих API? | /view?video_id=123, /search?query=cats |
Проектирование данных | Какая структура данных подойдет для хранения видео? | Объектное хранилище для видеофайлов, реляционная БД для метаданных |
| Как организовать индексирование для быстрого поиска? | Инвертированный индекс по ключевым словам и тегам видео |
Масштабирование | Как обеспечить высокую доступность системы? | Репликация данных, распределение по нескольким дата-центрам |
| Как оптимизировать доставку контента пользователям? | Использование CDN для кэширования популярных видео |
| Как масштабировать обработку загрузки видео? | Асинхронная обработка через очереди сообщений |
Дополнительные вопросы | Как обеспечить безопасность системы? | Шифрование данных, аутентификация пользователей, ограничение доступа |
| Как организовать мониторинг системы? | Сбор метрик производительности, логирование ошибок, алерты |