Нужен совет. Как лучше поступить с онлайн кинотеатром

12
XammeR
На сайте с 22.04.2010
Offline
62
1321

Здравствуйте.

Может у кого-то был опыт в подобном.

Имеется онлайн кинотеатр с посещалкой примерно 18к в день. Сейчас все видео с ВК. Задумались над тем чтоб перенести все к себе. Купили сервер, гигабитный канал, настроили. Все круто,но...

Бывают моменты, когда где-то кто-то разместит ссылку и суточная посещалка резко переваливает за 20 а пару раз и 25к. Судя по моим подсчетам когда в следующий раз такое случится, сервер ляжет. В принципе после 60 секунд не отклика автоматом переключится видео на ВК, но это как то не солидно.

В общем нужно совет. Как лучше поступить.

Докупать сервера грубо говоря для каждых 20к человек или сделать кластер ?

Я склоняюсь к кластеру с возможностью расширения. Допустим есть морда и есть сервера с файловым архивом, как я понимаю нужно научить морду понимать, что какой-то сервер загружен на 90% и отдавать видео с другого ?

Если тут есть люди которые могут помочь с этим вопросом (естественно не бесплатно) то пишите в асю или сюда в ЛС.

семь семь семь 8063.

Тизеры, Vkmessage, Clickunder! Лучшие цены, ежедневные выплаты! (http://realtraf.net/)
Andreyka
На сайте с 19.02.2005
Offline
822
#1

Докупая сервера ты уже делаешь этим кластер

А как это лучше сделать технически - задача сисадмина

Не стоит плодить сущности без необходимости
babnicks
На сайте с 23.10.2009
Offline
47
#2
XammeR:

Допустим есть морда и есть сервера с файловым архивом, как я понимаю нужно научить морду понимать, что какой-то сервер загружен на 90% и отдавать видео с другого ?

Именно так, с помощью палки-верёвки делается. У каждого бэк-сервера создаётся интерфейс по которому отдаётся его текущая сетевая нагрузка (собираемая например при помощи nettop, iptraf, ... ). Для начала просмотра видео делается обращение к балансеру, который выполняет редирект на меньше всего нагруженный сервер.

При этом, наверное, будет лучше чтобы бэк-сервера сами с определенной периодичностью обращались к фронт-серверу и сообщали ему о своём состоянии... Если какой-то из серверов давно ничего не сообщал, значит с ним проблемы. А балансер может делать выборку уже по готовой sql таблице с текущей нагрузкой, используяю только выборку из серверов состояние которых обновлялось за последние 2 минуты.

Дальше регулируете коэффициенты "правильной" нагрузки и всё...

Таким образом на мордовом сервере у Вас работает только балансер и движок выдачи html-страниц. Масштабируемость с точки зрения отдачи видео получается практически линейная.

Также нужно можно рассчитать для каждого видео коэффициент нагрузки (в зависимости от битрейта). И для более равномерного распределения (чтобы не ждать пока обновятся данные по реальной нагрузки) использовать их как поправки, предсказывая увеличение нагрузки на сервер к которому произошел редирект.

100% защита от спам-ботов (https://www.keycaptcha.com)
bsyomov
На сайте с 25.01.2012
Offline
31
#3
XammeR:
Здравствуйте.
Я склоняюсь к кластеру с возможностью расширения. Допустим есть морда и есть сервера с файловым архивом, как я понимаю нужно научить морду понимать, что какой-то сервер загружен на 90% и отдавать видео с другого ?

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

Могу рассказать подробнее и дать советы по архитектуре, а возможно и помочь имеющимися наработками по распределённой раздаче и конвертированию, если нужно.

Skype: boris.syomov

M
На сайте с 01.12.2009
Offline
235
#4
XammeR:
Здравствуйте.

Может у кого-то был опыт в подобном.
Имеется онлайн кинотеатр с посещалкой примерно 18к в день. Сейчас все видео с ВК. Задумались над тем чтоб перенести все к себе. Купили сервер, гигабитный канал, настроили. Все круто,но...

Бывают моменты, когда где-то кто-то разместит ссылку и суточная посещалка резко переваливает за 20 а пару раз и 25к. Судя по моим подсчетам когда в следующий раз такое случится, сервер ляжет. В принципе после 60 секунд не отклика автоматом переключится видео на ВК, но это как то не солидно.

В общем нужно совет. Как лучше поступить.
Докупать сервера грубо говоря для каждых 20к человек или сделать кластер ?

Я склоняюсь к кластеру с возможностью расширения. Допустим есть морда и есть сервера с файловым архивом, как я понимаю нужно научить морду понимать, что какой-то сервер загружен на 90% и отдавать видео с другого ?

Если тут есть люди которые могут помочь с этим вопросом (естественно не бесплатно) то пишите в асю или сюда в ЛС.

семь семь семь 8063.

1) обычно узкое место на видео это диски и канал.

Самый дешевый вариант.

Масштабирования можно делать, путём наращивания серверов,последовательно.

есть сервер A,B,C

A - выполняет роль "веб морды"

B,C = видео контент.

на сервере А в админке при добавлении сериала указуем просто урл на сервер B, предостережении лимита переходим новыми сериалами на сервер C и т п.

Дорогой вариант.

Строим кластер на GlusterFS (Distributed)

Окутаем свою сеть 10(4)G завязуем контент на основной сервер с "веб мордой" строим клайстер путём наращивания серверов. :)

Администратор Linux,Freebsd. построения крупных проектов.
babnicks
На сайте с 23.10.2009
Offline
47
#5
madoff:

Окутаем свою сеть 10(4)G завязуем контент на основной сервер с "веб мордой" строим клейстер путём наращивания серверов. :)

😂 ну блин... а потом GFS и начинаем запускать собственные спутники... ТС вроде гугл строить не собрался, ему надо нагрузку по-быстрому распределить ;)

M
На сайте с 01.12.2009
Offline
235
#6
babnicks:
😂 ну блин... а потом GFS и начинаем запускать собственные спутники... ТС вроде гугл строить не собрался, ему надо нагрузку по-быстрому распределить ;)

Я предложил два варианта.

Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#7
XammeR:
Здравствуйте.

Может у кого-то был опыт в подобном.
Имеется онлайн кинотеатр с посещалкой примерно 18к в день. Сейчас все видео с ВК. Задумались над тем чтоб перенести все к себе. Купили сервер, гигабитный канал, настроили. Все круто,но...

Бывают моменты, когда где-то кто-то разместит ссылку и суточная посещалка резко переваливает за 20 а пару раз и 25к. Судя по моим подсчетам когда в следующий раз такое случится, сервер ляжет. В принципе после 60 секунд не отклика автоматом переключится видео на ВК, но это как то не солидно.

В общем нужно совет. Как лучше поступить.
Докупать сервера грубо говоря для каждых 20к человек или сделать кластер ?

Я склоняюсь к кластеру с возможностью расширения. Допустим есть морда и есть сервера с файловым архивом, как я понимаю нужно научить морду понимать, что какой-то сервер загружен на 90% и отдавать видео с другого ?

Если тут есть люди которые могут помочь с этим вопросом (естественно не бесплатно) то пишите в асю или сюда в ЛС.

семь семь семь 8063.

Мы можем предложить вам решение аналогичное вот этой ферме для картинок, суть заключается в следующем, вы имеете вабсайт который обслуживает только запросы клиентов и показывает странички оттуда, а с фермы раздает контент путем ссылок или уже как настроите вариаций много. Как по мне вполне адекватное решение, масштабируемость любая, проседает ферма - добавили сервер, добавили кеш сервер (если актуально), побежало, около 6 вариаций балансировки трафика на 2м-7м уровнях OSI. Имеется в наличии Hardware Load Balancer на базе Foundry.

Есть около 15.000 ipv4 !!! (http://onyx.net.ua/price.php#ipv4) Качественный хостинг с 2005 года - лучшее клиентам! (http://onyx.net.ua/)
XammeR
На сайте с 22.04.2010
Offline
62
#8

Спасибо огромное всем кто отписал и предложил свои идеи и помощь.

С некоторыми уже связались в аське. Сейчас выбираем самый оптимальный вариант.

Romka_Kharkov:
Мы можем предложить вам решение аналогичное вот этой ферме для картинок, суть заключается в следующем, вы имеете вабсайт который обслуживает только запросы клиентов и показывает странички оттуда, а с фермы раздает контент путем ссылок или уже как настроите вариаций много. Как по мне вполне адекватное решение, масштабируемость любая, проседает ферма - добавили сервер, добавили кеш сервер (если актуально), побежало, около 6 вариаций балансировки трафика на 2м-7м уровнях OSI. Имеется в наличии Hardware Load Balancer на базе Foundry.

А сколько будет стоить подобное решение ?

Himiko
На сайте с 28.08.2008
Offline
560
#9

Я за то, чтобы сделать максимально просто. Вариантов может быть множество.

Самое простое - несколько серверов + простейших балансировщик (roundrobin в dns или nginx)

Причем при 2х и более серверах можно обеспечить бонусом и отказоустойчивость.

Если потребуется помощь, можете написать по контактам у меня в подписи.

Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.
Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#10
XammeR:

А сколько будет стоить подобное решение ?

Смотря как его рассматривать, вы хотите купить железо? Вы хотите его арендовать ? или вы хотите что вы вам его кто-то настроил? У нас есть балансировщик, аренда порта в нем для балансировки обойдется вам где-то 50$ / месяц за единицу, дальше оплата за аренду железа и канала, в принципе все как обычно. Скажите сколько и каких серверов вам надо, а так же скажите сколько трафика у вас уходит в месяц, сделаем приблизительный расчет.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий