Репликация
Flussonic Media Server предлагает уникальную возможность автоматической репликации архива видеопотока между серверами. Репликация предполагает хранение архива на двух или более серверах Flussonic. После установления соединения между основным и вторичным сервером вторичный сервер сам заберет недостающий архив с основного.
При этом вторичный сервер умеет ограничивать суммарную скорость репликации, чтобы не прерывать качество вещания прямого эфира, ведь репликация большого архива может надолго занять пропускную полосу сервера или перегрузить дисковую подсистему, что приведет к отказу в обслуживании.
Репликация может быть использована в нескольких случаях:
- копирование архива на другие сервера для надежности, с автовосстановлением после сбоев;
- вещание со сдвигом времени в другом часовом поясе с надежным автоматическим восстановлением недостающего видео.
Чтобы включить репликацию, необходимо использовать ключевое слово replicate
в конфигурации dvr
сервера-источника, который добавляем на забирающем сервере. Можно настроить репликацию для всех потоков или для отдельных из них.
В следующем примере реплицирующий сервер будет забирать себе все потоки, сконфигурированные на основном сервере:
cluster_key abcd;
source streamer:8081 {
dvr /storage 20d replicate;
}
Репликацию можно включить и для отдельного потока:
stream repl_example1 {
input m4f://streamer:8081/fake2;
dvr /storage 7d replicate;
}
При обычной репликации, показанной в примере, к источнику потока подключается только основной сервер, а вторичный может только забирать с основного.
Note
При наличии ключевого слова replicate
запись будет включена постоянно, поэтому использовать опцию dvr_offline
(которая отключает запись архива) вместо dvr
не рекомендуется.
Протокол
Репликация работает только по внутреннему протоколу Flussonic — M4F. В общем случае для передачи видео между серверами Flussonic мы рекомендуем использовать этот протокол. О преимуществах протокола M4F можно прочитать по ссылке.
Порт
По умолчанию, репликация включается на порту, указанном при настройке M4F-источника. При использовании опции replication_port
можно указать отдельный порт, который будет использоваться при репликации:
stream repl_example2 {
input m4f://streamer:8081/fake2;
dvr /storage 7d replicate replication_port=8002;