Skip to content

Резервирование архива

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

  • сохранение видеоархива,
  • постоянная доступность архива.

Для решения этих задач используйте резервирование. Для резервирования архива в Flussonic используется кросс-репликация.

На этой странице:

Что такое кросс-репликация и зачем она нужна

Кросс-репликация — это механизм резервирования архива, при котором два сервера Flussonic записывают и хранят архив потока, а также могут обращаться к источнику и восстанавливать недостающие части архива друг друга (подробнее см. Как работает кросс-репликация). Архивы на серверах синхронизированы и являются полными копиями друг друга.   Если один из серверов станет недоступным, то второй продолжит вести запись архива, обращаясь к источнику напрямую. Идентичность копий архива будет восстановлена сервером Flussonic автоматически при возвращении неработающего сервера онлайн.

Кросс-репликация — это репликация c первого сервера на второй и со второго на первый.

Так с помощью кросс-репликации ваш сервис:

  • Сохранит возможность просмотра записей архива для зрителей при аварии или временной недоступности одного из серверов с архивом.
  • Восстановит недостающие сегменты архива по возвращении работоспособности севера путём передачи данных с работающего сервера.
  • Обеспечит идентичность архивов на серверах.

Как работает кросс-репликация

Note

Для передачи данных между серверами Flussonic рекомендуется использовать внутренний протокол Flussonic — M4F. О преимуществах протокола M4F читайте в разделе Обзор протокола M4F.

Механизм кросс-репликации в Flussonic применяется к архиву отдельного потока, а не сервера. Если вы хотите настроить кросс-репликацию для нескольких потоков на сервере, то настройте кросс-репликацию отдельно для каждого потока.

У механизма кросс-репликации есть три режима работы:

  • штатный режим:

Ordinary state

- Основной сервер захватывает прямой эфир из источника по UDP и записывает архив основного потока условного example_stream.   - Резервный сервер захватывает прямой эфир и архив основного потока example_stream из основного сервера по протоколу M4F в резервный поток replica_example_stream.

  • аварийный режим:

Crash state

- Основной сервер выходит из строя, перестаёт принимать прямой эфир от источника и писать архив.   - Резервный поток replica_example_stream переключается напрямую на источник. Резервный сервер принимает прямой эфир по UDP от источника и продолжает записывать архив.

  • режим восстановления после аварии:

Disaster recovery state

- Основной сервер восстановил работу и основной поток example_stream переключается на источник. Сервер захватывает прямой эфир из источника по UDP и пишет архив потока.   - Основной сервер забирает недостающую часть архива, которую записал резервный сервер во время простоя основного.   - Резервный поток переключается обратно на основной сервер. Резервный сервер снова захватывает прямой эфир из основного сервера и продолжает записывать архив.

Как настроить кросс-репликацию

Чтобы включить кросс-репликацию для потока example_stream на основном и резервном серверах Flussonic, настройте на обоих серверах следующее:

  • захват из источника (input udp://),
  • захват из другого сервера Flussonic для репликации (input m4f://),
  • запись архива (dvr /storage 3d) и репликацию, добавив настройку replicate.

Пусть primary_flussonic.example.com — основной сервер, а secondary_flussonic.example.com — резервный сервер.

Конфигурация основного потока на основном сервере primary_flussonic.example.com:

stream example_stream {
  input udp://224.1.2.3:1234;
  input m4f://secondary_flussonic.example.com/replica_example_stream;
  dvr /storage 3d replicate;
}

Конфигурация резервного потока на резервном сервере secondary_flussonic.example.com:

stream replica_example_stream {
  input m4f://primary_flussonic.example.com/example_stream; 
  input udp://224.1.2.3:1234;
  dvr /storage 3d replicate;
}