Проект


Студент разрабатывает видео платформу в сети Интернете, аналог KION. В рамках задания мы предлагаем вам принять участие в дизайне и разработке одной из компонентов системы.

Нужно добавить новую систему сбора статистики о прогрессе просмотра видео определённым пользователем. Пользователь находится на странице с видеоплеером и отправляет сообщения на сервер. В качестве результата проекта должна быть разработана аналитическая система сбора статистики о прогрессе просмотра видео конкретным пользователем, написанная на GoLang/Java.

Задача на проектирование клиентского интерфейса


Необходимо предложить вариант интерфейса общения между клиентом и сервером. На данный момент не выбран какой-то протокол общения, поэтому вы можете предложить свой и рассказать, почему он подходит лучше других.

Задача на проектирование сервиса


Для решения инженерной задачи предложите набор компонентов, который сможет сохранять историю прогресса по каждому видео-файлу под высокой нагрузкой. Предполагаемый набор параметров на вход — video_id, user_id, event_type и event_time.

Обратите внимание, что хранилище должно гибко масштабироваться. В онлайн-видеохостинга, как и во многих сервисах, есть пиковое время. На новогодние праздники ожидается тройной прирост к обычному трафику. Временной интервал предполагаемой нагрузки — с 1 января по 10 января. После праздников, шампанского и оливье всё вернётся на круги своя, и ресурсы будут возвращены в инфраструктуру.

Регулярные требования к системе


Дополнительные требования к системе

Ваше задание: