Назад | Перейти на главную страницу

Поддержание того же сеанса TCP, балансировка нагрузки

При потоковой передаче в реальном времени (HLS) нам нужно доставлять видео сегменты один за другим игроку, чтобы воспроизводить их непрерывно. Сегменты присутствуют на многих серверах потоковой передачи, и мы должны распределить нагрузку между этими серверами для доставки сегмента.

Предполагая, что каждый запрос фрагмента попадает на наш сервер приложений, и мы перенаправляем его на наилучший из возможных узлов доставки, как только мы получаем запрос сегмента. Приведет ли это к открытию многих TCP-сессий для обработки HTTP-запросов. Например, при просмотре двухчасового фильма на пользовательский сеанс может приходиться 1500 запросов HTTP-фрагментов (сеансов TCP). Если да, то это может быть неэффективно, и есть ли способ перенаправить каждый запрос chuck на узел доставки и поддерживать тот же сеанс TCP?

Нет, Redirect означает «сделать еще один запрос». Клиент должен реализовать (а сервер поддерживать) поддержку активности TCP между HTTP-запросами, но он полностью выходит из-под контроля сервера, сообщая клиенту, что он потерян (т.е. перенаправляет его на какой-то другой сервер).