Skip to content

Балансировка нагрузки во Flussonic

Балансировка нагрузки во Flussonic

С ростом количества зрителей растёт и нагрузка на сервер. При использовании кластера серверов в определённый момент возникает необходимость эффективного распределения нагрузки между серверами дабы избежать перегрузки. Такой метод позволяет также избежать возможности остановки, запаздывания или прерывания видеопотока, чтобы зритель оставался довольным и мог наслаждаться просмотром контента. Это и называется балансировкой нагрузки.

Flussonic может балансировать пользователей между несколькими серверами Flussonic Media Server. Балансировка нагрузки достигается за счёт перенаправления запросов клиентов на другой, менее загруженный сервер в кластере.

Вы можете настроить балансировку нагрузки без использования IPTV плагина или Catena. Теперь Вы можете настроить эту опцию прямо во Flussonic.

В каком случае необходимо использовать балансировку нагрузки?
Если у вашей стриминговой платформы или вашего стримингового сервиса более 10 000 зрителей. Иначе у Вас может произойти перегрузка сервера, что приведёт к прерыванию, остановке стрима (потока) и, в конечном итоге, к плохому зрительскому опыту.

Для того, чтобы использовать балансировщик во Flussonic, добавьте его в файл конфигурации (/etc/flussonic/flussonic.conf):

Укажите следующие параметры:

  • lb — имя балансировщика
  • peer — пир (например, peer1.example.com)
  • max_bitrate — максимальное значение битрейта для выходного потока, выраженное в Мбит/с (необязательный)

Пример URL для обращения к потоку channel1:

http://flussonic/lb/channel1/index.m3u8

Вы также можете определить несколько балансировщиков, если в этом есть необходимость.

Исходя из чего балансировщик принимает решение о направлении запроса клиента на определённый сервер?
На основе значения битрейта выходного потока. Балансировщик направляет запрос на наименее загруженный сервер.
Рассмотрим следующий пример: p1 - сервер с наименьшим уровнем нагрузки по выходному каналу (см. конфиг выше). Клиент запрашивает поток с одного из серверов в кластере. Flussonic, в свою очередь, направляет клиента на сервер с наименьшей загрузкой - p1.
В случае, когда несколько серверов имеют одинаково низкие показатели битрейтов (на практике такой случай может быть только при значении битрейта равного нулю), выбор сервера осуществляется случайным образом.

Важно: один и тот же клиент будет получать кешированный для него ответ в течении 10 секунд с момента последнего запроса вне зависимости от состояния сервера Flussonic.
Иными словами, в случае, когда один и тот же клиент обращается к тому же потоку, то он будет направлен на тот же сервер, при условии, что поток там до сих пор активен. Если же поток по тем или иным причинам не активен на этом сервере, то клиент будет переведён на другой сервер (в течении 10 секунд), где этот самый поток будет активен.

Note

Доступно с версии Flussonic 21.04. Обновите Вашу версию продукта для использования данной опции.