两台linux服务器搭建nginx流媒体服务器,这两台服务器通过F5做负载,映射到外网,实现 nginx rtmp hls负载均衡

两台服务器搭建nginx流媒体服务器,这两台服务器通过F5做负载,
映射到外网,推流可以推成功,获取流的时候有可能获取不到。

举例描述:  两台nginx流媒体服务器 A 和 B . 通过F5做负载有个外网ip。
推流通过外网IP 可以成功。
获取流的时候有可能获取不到, 比如推流是到A服务器,获取流通过F5去B服务器
,这时候是取不到,这个问题有什么解决办法?欢迎留言帮忙提供解决办法,谢谢!

这个问题我们开始使用共享磁盘,发现还是不能实现这个功能,最后看到一篇文章地址:https://blog.nanpuyue.com/2018/047.html

给我启发,最后是否 nginx中的配置 push 和 pull 参数。

A和B服务器 nginx.conf 基本相同: 相关配置如下:

A服务器

rtmp {
    server {
        listen 1953;
        chunk_size 8192;
        application live {
            live on;
            #开始推流回调,url地址为java接口 cloudLive
            #on_publish http://IP:8080/cloudLive/vin/auth;
        }
          #hls配置
        application hls {
            live on;
            hls on;
            hls_path /share/local/hls;
            push rtmp://B服务器IP:1953/hls;  # 推类似转发到B服务器
            pull rtmp://B服务器IP:1953/hls;  #拉B服务器转发的流视频
            #开始推流回调 认证接口,url地址为java接口
            #on_publish http://IP:8080/项目/vin/auth;
            #推流停止回调 ,url地址为java接口
            #on_done http://IP::8080/cloudLive/vin/auth;
        }
    }
}

B服务器

rtmp {
    server {
        listen 1953;
        chunk_size 8192;
        application live {
            live on;
            #开始推流回调,url地址为java接口 cloudLive
            #on_publish http://IP:8080/cloudLive/vin/auth;
        }
          #hls配置
        application hls {
            live on;
            hls on;
            hls_path /share/local/hls;
            push rtmp://A服务器IP:1953/hls;  # 推类似转发到A服务器
            pull rtmp://A服务器IP:1953/hls;  #拉A服务器转发的流视频
            #开始推流回调 认证接口,url地址为java接口
            #on_publish http://IP:8080/项目/vin/auth;
            #推流停止回调 ,url地址为java接口
            #on_done http://IP::8080/cloudLive/vin/auth;
        }
    }
}

这样配置通过F5负载从任意一台服务器上拉流视频和 推流视频。

这样配置有几个问题

1、每个服务器同时存在相同的一份文件,浪费磁盘。(停止推流、流文件会被删除)

2、需添加多服务器时,push和pull 配置比较繁琐,不易扩展。

最好的建议是把读写流分开,写视频的 可以做一个集群,暂时叫集群A,拉视频流做一个集群B,写入流A集群,转发到B集群和第三方服务器。大概架构图可以看一下以下图片。大概粗略的画一下, 如有问题欢迎留言谈论,谢谢!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值