我创建了一个 nginx-rtmp 服务器,其中多个 IP 摄像机可以引导其视频流。我想将其扩展到可以自动扩展的集群。通常,集群有一些具有固定 IP 地址的负载均衡器,可将流量重定向到集群中的不同主机。
我不知道如何为 nginx-rtmp 设置类似的东西。任何指向固定地址的新流都需要定向到同一主机。
任何人都可以解释如何设置这样的东西吗?即使是一些我可以阅读更多相关内容的链接也会很有帮助。
通常我会为大型并发流设置集群。例如 1 个原点和 10 个边。
那么为什么需要这么多服务器接受传入的 RTMP?
如果网络带宽不是问题,流媒体服务器可以轻松接受 5000 个传入 rtmp。
Nginx Cluster,或者说扩展Nginx RTMP能力涉及到两个方面:
为了扩展推流,您可以使用多个独立的Nginx RTMP源服务器,并使用不同的应用进行负载均衡。例如,如果每个 Nginx RTMP 支持 3,300 个流,您可以使用三个 Nginx RTMP 服务器以及不同的应用程序来进行负载平衡。配置如下:
# For Nginx Server 1
rtmp {
server {
listen 1935;
chunk_size 4096;
application live1 {
live on;
}
}
}
# For Nginx Server 2
rtmp {
server {
listen 1935;
chunk_size 4096;
application live2 {
live on;
}
}
}
要扩展播放,您可以选择使用SRS边缘服务器。例如,部署 30 台 SRS Edge 服务器,每台支持 3,300 个播放,可以支持大约 100,000 个播放客户端。配置如下:
vhost __defaultVhost__ {
cluster {
mode remote;
origin nginx-server-ip:1935;
}
}
欲了解更多详情,您可以参考此链接。