首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx-rtmp-模块边缘节点如何从多个主节点中提取流

Nginx-rtmp-模块边缘节点如何从多个主节点中提取流
EN

Server Fault用户
提问于 2016-02-23 03:51:09
回答 1查看 5.5K关注 0票数 4

我有一个主从吞食服务器和多个边缘节点,每个从摄取服务器。但是现在我有了10000台相机推流来控制吞食服务器,恐怕它无法处理。因此,我计划添加更多的主摄取服务器(使用LoadBalancer LVS来处理那些相机会将流推送到哪个主摄取服务器)。但是对于多个主服务器来说,边缘节点是如何提取所有这些流的。我还在这样的边缘节点中测试拉选项

代码语言:javascript
复制
application live {
   notify_method get;
   idle_streams off;
   pull rtmp://master_server_1/live live=1;
   pull rtmp://master_server_2/live live=1;
}

但它只会从master_server_1中提取流。有什么建议吗?谢谢

顺便说一句,我想我不需要更多的主服务器,只需升级带宽。对不对?谢谢

EN

回答 1

Server Fault用户

回答已采纳

发布于 2016-09-19 22:25:15

您可以对多个源服务器进行DNS记录解析--您不仅可以将它用于简单的DNS循环负载平衡,而且这将是您从多个源中提取nginx-rtmp的方式。

在某一点之后,有一个以上的吞食服务器是有意义的。除了其他实际的考虑,它给你更多的可靠性。只要有一台服务器,就有一个单一的故障点。

来源:https://groups.google.com/forum/#!topic/nginx-rtmp/B2QqkwXxASk

注1: NGINX缓存DNS解析直到重新启动。如果您期望in发生更改(我使用AWS,所以它们会发生很多变化),那么您需要在NGINX中处理DNS解析器,或者使用exec_pull指令与ffmpeg相结合。

注2:从其中提取的所有节点都必须具有相同的流。它无法知道某条溪流是否存在于原点上。它将使用第一个可用的(连接明智的)来源。

如果您想要有独立的流集(对扩展来说是有意义的),那么您必须在您的终端上管理它。我使用一致的散列算法解决了这个问题,将流映射到不同的视频集群,分散负载。例如:发布到原点"1“的流只能在从原点"1”拉出的边缘上播放。这样一个系统的实现应该在您的应用层。

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/759091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档