Проектирование количества просмотров на Youtube

#youtube #system-design

Вопрос:

Недавно я столкнулся с этим вопросом проектирования систем высокого уровня. Есть какие-нибудь указания о том, как разработать такую услугу?

Я думал в этом направлении — каждое представление пользователя может рассматриваться как событие на веб-сервере, обслуживающем запрос пользователя, например <U1, V1>, <U1, V1><U2, V2>, <U2, V2><U1, V2>… Затем я подумал, что мы можем накопить данные просмотра на веб-сервере за последние, скажем, 5 минут и отправить их в общую службу видеоконференций. Теперь серверам по всему миру необходимо каким-то образом обновить количество просмотров. Как нам избежать — 1. слишком большого количества одновременных записей 2. сценарии, в которых много трендовых данных о количестве просмотров видео находится на одном сервере, и представления часто обновляются?

Как изменится этот дизайн, если видео будет транслироваться в прямом эфире?