Организация работы CDN

snark13

Member
Добрый день.

Вопрос по организации работы CDN.
Сейчас у нас организована простая работа нескольких WCS серверов (без деления на роли Origin/Edge).
В данный момент идет обсуждение новой архитектуры в которой предполагается работа из нескольких Origin и Edge серверов (с autoscale как для Edge так и для Origin).

Правильно ли я понимаю что если Origin сервер который указан как point_of_entry для всех остальных серверов перезапустится то он в CDN не войдет, а что бы CDN опять состоял из всех серверов надо что бы остальные все сервера переподключились к point_of_entry (через перезапуск или через REST API) ?

Вопрос -
Если например будет два Origin сервера и на первом будет в качестве point_of_entry будет указан второй а на втором - первый - такая конфигурация будет работать ? при запуске первого Origin сервера он не найдет второго и будет работать автомномно, при запуске второго он обратится к первому и произойдет объединение в один CDN, при перезапуске любого из них он после перезапуска обратится к другому Origin и опять войдет в CDN ?
Возможно ли для Edge серверов указывать несколько point_of_entry (например все Origin сервера) что бы при их запуске они входили в CDN при работе хотя бы одного из Origin ? Если да - можно ли такое организовать и для Origin (например передавать в Origin список всех Origin серверов (кроме самого сервера) как point_of_entry а Origin будет пробовать войти обращаясь к ним по очереди пока не получится) ?
 

Max

Administrator
Staff member
Добрый день.
Правильно ли я понимаю что если Origin сервер который указан как point_of_entry для всех остальных серверов перезапустится то он в CDN не войдет, а что бы CDN опять состоял из всех серверов надо что бы остальные все сервера переподключились к point_of_entry (через перезапуск или через REST API) ?
Нет, это неверно.
Когда какой-либо сервер в CDN запускается, ему нужна точка входа: адрес узла, с которым сигналинговое соединение будет установлено первым. После того, как это соединение установлено, узел получает описание текущего стейта CDN со списком всех активных узлов, и соединяется непосредственно с ними для обмена сигналинговыми сообщениями самостоятельно. Например, edge узел связывается с origin, transcoder узел связывается с origin и edge.
Таким образом, все edge соединены с origin по сигналингу. И если этот origin по какой-то причине перезапустится, то все edge восстановят соединение с ним, как только это произойдет.
cdn_point_of_entry требуется узлу, который должен войти в CDN, только при его старте.
Если например будет два Origin сервера и на первом будет в качестве point_of_entry будет указан второй а на втором - первый - такая конфигурация будет работать ?
Такая конфигурация не имеет практического смысла по причинам, изложенным выше
Возможно ли для Edge серверов указывать несколько point_of_entry (например все Origin сервера) что бы при их запуске они входили в CDN при работе хотя бы одного из Origin ? Если да - можно ли такое организовать и для Origin (например передавать в Origin список всех Origin серверов (кроме самого сервера) как point_of_entry а Origin будет пробовать войти обращаясь к ним по очереди пока не получится) ?
В этом нет необходимости по причинам, изложенным выше
 
Top