Skip to content

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

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

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

Для автоматической балансировки потоков в кластере мы рекомендуем использовать Flussonic Catena вместо устаревшего IPTV плагина.

Если у Вас есть лицензия Flussonic, то Вы можете пользоваться Catena бесплатно. У Вас есть возможность установить Catena на отдельный сервер или вместе с Flussonic, но в последнем случае измените HTTP-порт в конфигурации Flussonic на что-то отличное от 80, потому что порт 80 необходим для Catena.

Catena имеет два типа балансировки нагрузки: балансировка на основе pipelines и автоматическая балансировка, причем автоматическая балансировка работает точно так же, как и балансировка с помощью IPTV плагина. Так что не беспокойтесь, если вы никогда не использовали Catena и не планируете использовать pipelines. Достаточно установить Catena, добавить адреса серверов Flussonic и включить на каждом из них Autobalancer в интерфейсе Catena.

Flussonic Catena располагает двумя механизмами балансировки:

  • Балансировка на основе pipelines;
  • Автоматическая балансировка.

Балансировка на основе pipelines

Если запрашиваемый канал числится в базе данных Catena, то клиенту выдаётся URL канала в соответствии с правилами pipelines. В таком случае Catena, зная роль каждого сервера и доступное на данный момент количество Edge-серверов, выбирается наименее загруженный из них.

Это наиболее гибкий подход настройки балансировки нагрузки в Catena. По умолчанию при добавлении нового потока в Catena используется именно он.

Автоматическая балансировка

Если запрашиваемый поток не числится в базе данных Catena, то она будет пытаться найти этот поток на всех серверах Flussonic, которые к ней подключены. В этом случае Catena не знает ролей серверов.

Такой подход является простым и эффективным решением в случае, если у Вас уже имеются серверы с настроенными каналами. В таком случае просто добавьте эти серверы в Catena, а она уже обнаружит все каналы и распределит клиентов по серверам.

Если Вам понадобится исключить сервер (рестример) из числа тех, что могут быть использованы автоматическим балансировщиком, то отключите эту опцию (Autobalancer) в настройках сервера.

Чтобы автоматически сбалансировать нагрузку в кластере с помощью Catena:

  1. Установите Catena отдельно или на имеющийся сервер с Flussonic.
  2. Если вы установили Catena на один сервер с Flussonic, измените порт HTTP в файле конфигурации Flussonic (/etc/flussonic/flussonic.conf) и перезагрузите конфигурацию (service flussonic reload).
  3. Перейдите в веб-интерфейс Catena и добавьте серверы
  4. Включите Autobalancing для каждого сервера Flussonic.
  5. Если у вас был настроен кластер на серверах Flussonic, удалите эти настройки.
  6. Клиентские устройства должны запрашивать потоки по URL следующего вида: http://CATENA-IP/watch/STREAMNAME/index.m3u8