Студент разрабатывает видео платформу в сети Интернете, аналог KION. В рамках задания мы предлагаем вам принять участие в дизайне и разработке одной из компонентов системы.
Нужно добавить новую систему сбора статистики о прогрессе просмотра видео определённым пользователем. Пользователь находится на странице с видеоплеером и отправляет сообщения на сервер. В качестве результата проекта должна быть разработана аналитическая система сбора статистики о прогрессе просмотра видео конкретным пользователем, написанная на GoLang/Java.
Необходимо предложить вариант интерфейса общения между клиентом и сервером. На данный момент не выбран какой-то протокол общения, поэтому вы можете предложить свой и рассказать, почему он подходит лучше других.
Для решения инженерной задачи предложите набор компонентов, который сможет сохранять историю прогресса по каждому видео-файлу под высокой нагрузкой. Предполагаемый набор параметров на вход — video_id
, user_id
, event_type
и event_time
.
Обратите внимание, что хранилище должно гибко масштабироваться. В онлайн-видеохостинга, как и во многих сервисах, есть пиковое время. На новогодние праздники ожидается тройной прирост к обычному трафику. Временной интервал предполагаемой нагрузки — с 1 января по 10 января. После праздников, шампанского и оливье всё вернётся на круги своя, и ресурсы будут возвращены в инфраструктуру.