Резервирование архива¶
При построении IPTV-сервиса возникают следующие задачи, связанные с архивом:
- сохранение видеоархива,
- постоянная доступность архива.
Для решения этих задач используйте резервирование. Для резервирования архива в Flussonic используется кросс-репликация.
На этой странице:
- Что такое кросс-репликация и зачем она нужна.
- Как работает кросс-репликация.
- Как настроить кросс-репликацию.
Что такое кросс-репликация и зачем она нужна¶
Кросс-репликация — это механизм резервирования архива, при котором два сервера Flussonic записывают и хранят архив потока, а также могут обращаться к источнику и восстанавливать недостающие части архива друг друга (подробнее см. Как работает кросс-репликация). Архивы на серверах синхронизированы и являются полными копиями друг друга. Если один из серверов станет недоступным, то второй продолжит вести запись архива, обращаясь к источнику напрямую. Идентичность копий архива будет восстановлена сервером Flussonic автоматически при возвращении неработающего сервера онлайн.
Кросс-репликация — это репликация c первого сервера на второй и со второго на первый.
Так с помощью кросс-репликации ваш сервис:
- Сохранит возможность просмотра записей архива для зрителей при аварии или временной недоступности одного из серверов с архивом.
- Восстановит недостающие сегменты архива по возвращении работоспособности севера путём передачи данных с работающего сервера.
- Обеспечит идентичность архивов на серверах.
Как работает кросс-репликация¶
Note
Для передачи данных между серверами Flussonic рекомендуется использовать внутренний протокол Flussonic — M4F. О преимуществах протокола M4F читайте в разделе Обзор протокола M4F.
Механизм кросс-репликации в Flussonic применяется к архиву отдельного потока, а не сервера. Если вы хотите настроить кросс-репликацию для нескольких потоков на сервере, то настройте кросс-репликацию отдельно для каждого потока.
У механизма кросс-репликации есть три режима работы:
- штатный режим:
- Основной сервер захватывает прямой эфир из источника по UDP и записывает архив основного потока условного example_stream
.
- Резервный сервер захватывает прямой эфир и архив основного потока example_stream
из основного сервера по протоколу M4F в резервный поток replica_example_stream
.
- аварийный режим:
- Основной сервер выходит из строя, перестаёт принимать прямой эфир от источника и писать архив.
- Резервный поток replica_example_stream
переключается напрямую на источник. Резервный сервер принимает прямой эфир по UDP от источника и продолжает записывать архив.
- режим восстановления после аварии:
- Основной сервер восстановил работу и основной поток 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;
}