Skip to content

Распределение потоков

Flussonic Central стремится обеспечить равномерное использование аппаратных ресурсов на стримерах в кластере, назначая видеопотоки на наиболее подходящие стримеры.

Назначение потоков на стримеры происходит в следующих случаях:

  • Когда в Central создается новый поток.
  • Когда вышел из строя существующий стример и необходимо перераспределить потоки с него между работающими стримерами.
  • При добавлении нового стримера в кластер серверов, управляемых Central (или восстановлении существующего стримера после сбоя), если есть возможность добиться более равномерной нагрузки на серверы в кластере, переназначив часть потоков на новый стример.

Note

При восстановлении стримера после сбоя не гарантируется, что на него вернутся те же потоки, которые были до сбоя.

Расположение потоков определяется параметром Channel limit в настройках стримера (channel_limit в схеме API). Поток назначается на наименее загруженный стример, который определяется по текущему количеству потоков, разделенному на channel_limit. Гарантируется, что на стримере не будет запущено больше потоков, чем указано в параметре channel_limit (по умолчанию 6000).

Когда в настройках потока задан Streamer hostname, выбранный стример имеет приоритет в процессе распределения, если он загружен не полностью (т. е. количество потоков на нем меньше channel_limit) или если на нем есть потоки без streamer_hostname.

Настройка channel_limit в UI

Чтобы задать channel_limit:

  1. Перейдите в раздел Streamers и выберите стример.
  2. Установите параметр Channel limit в разделе Balancing.

Streamer settings

Настройка channel_limit через API

Чтобы задать параметр channel_limit с помощью API, используйте запрос PUT /streamer/api/v3/streamers/{hostname}, например:

curl -u username:password -X PUT "http://FLUSSONIC-IP/streamer/api/v3/streams/STREAM_NAME" \
> -H "Content-Type: application/json" \
> --data '{"dvr": {"root":"/storage","expiration":172800}}'