Документация Flussonic Media Server

Contents

Кластеризация DVR

Задача хранения архива в распределенной среде видеодоставки создает несколько проблем:

  • необходимо обеспечить сохранность и доступность архива. RAID-системы не решают проблему, потому что при отключении сервера все данные становятся недоступны;
  • для популярного и востребованного контента необходимо обеспечить доставку архива ближе к пользователям и снижение нагрузки на сервера источники;
  • в условиях геораспределенной доставки видео надо уметь восстанавливать целостность архива на вторичных серверах после потери с сервером источником.

Самый простой вариант зеркалирования DVR — включить DVR на источнике и на вторичных серверах.

Кластеризация DVR в Flussonic включается очень просто: достаточно забирать через директиву source:

source origin1 {
  dvr /storage 2d;
}

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

Важной особенностью Flussonic является возможность использования отдельного сегментного кэша на SSD для снятия нагрузки. Обычно на последние сутки видео приходится до 90% всех просмотров, поэтому при вещании масштабных событий можно использовать SSD для снятия нагрузки с HDD:

stream ort {
   url udp://239.0.0.1:5000;
   dvr /storage 80d;
   cache /cache 2d 800G;
}

При использовании кластеризации DVR можно не указывать сторадж на вторичных серверах, а указать только сегментный кэш:

source origin1 {
   cache /cache 2d 400G;
}

При такой конфигурации вторичный сервер будет использовать сегментный кэш для хранения DVR, но фактически управлять всем архивом будет сервер источник.
В случае потери связи с источником вторичный сервер уже не сможет отвечать на запросы к архиву.