搭建SRS4.0视频流高可用集群服务
方案
设备ip | 功能 | 备注 |
---|---|---|
10.80.210.103(主)/10.80.210.104(从) | 指向源站–>nginx+keepalive+vip | vip:10.80.210.213 |
10.80.210.105/10.80.210.106 | 源站集群 | 后期可扩展 |
10.80.210.107/10.80.210.108 | 边缘集群 | 后期可扩展 |
10.80.210.109(主)/10.80.210.110(从) | 指向边缘–>nginx+keepalive+vip | vip:1080.210.214 |
参考:https://mp.weixin.qq.com/s/pd9YQS0WR3hSuHybkm1F7Q (最佳实践:如何扩展你的SRS并发能力)
参考:官方github:https://github.com/ossrs/srs/wiki/v4_CN_Home
指向源站–nginx+keepalive+vip的安装和配置
nginx安装和配置,主从服务都需要安装
安装版本为:nginx-1.22.0-1.el7.ngx.x86_64.rpm
nginx配置
vi /etc/nginx/nginx.conf
新增如下信息:
启动、开机自启服务
keepalived安装和配置
安装keepalived
yum install -y keepalived
修改配置文件
cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
vi /etc/keepalived/keepalived.conf
主服务的配置文件信息:
从服务的配置文件信息:
编写nginx监控脚本
如果nginx服务停止,keepalived服务也停止,并切换到备主机
脚本如下:vi /etc/keepalived/check_web.sh
启动、开机自启keepalived服务
查看keepalived服务状态;查看虚拟IP生效情况
SRS 源站安装与配置
SRS 源站集群参考官网:https://github.com/ossrs/srs/wiki/v4_CN_OriginCluster
SRS安装参考:
SRS源站1(10.80.210.105)的配置:
说明下,默认的启动配置应该是srs.conf。我做了备份,修改了这个文件。
启动服务:
SRS源站2(10.80.210.106)的配置:
启动服务
两份配置文件差异只在 最后一个 coworkers,写出了自己以外的源站IP即可
测试
使用ffmpeg
推流到负载均衡10.80.210.213
SRS 边缘安装与配置
边缘的配置都是一样的,是通过NG来进行负载的,所以说边缘的配置相对简单,并且是可以无限扩展的
SRS 边缘集群参考:
- Edge Cluster: RTMP: 如何部署RTMP分发集群,譬如CDN支持RTMP分发。
- Edge Cluster: FLV: 如何部署HTTP-FLV分发集群,譬如CDN支持HTTP-FLV分发。
- Edge Cluster: HLS: 如何部署HLS分发集群,比如CDN支持HLS分发。
SRS安装参考:
SRS edge 配置文件
最重要就是最后两行了,一个是 Mode和源站地址,源站地址使用的应该是1935端口
启动服务
指向边缘–nginx+keepalive+vip
nginx安装和配置,主从服务都需要安装
安装版本为:nginx-1.22.0-1.el7.ngx.x86_64.rpm
nginx配置
vi /etc/nginx/conf.d/default.conf
新增如下信息:
keepalived安装和配置
安装keepalived
yum install -y keepalived
修改配置文件
cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
vi /etc/keepalived/keepalived.conf
主服务的配置文件信息:
从服务的配置文件信息:
编写nginx监控脚本
如果nginx服务停止,keepalived服务也停止,并切换到备主机
脚本如下:vi /etc/keepalived/check_web.sh
启动、开机自启keepalived服务
测试服务功能
在浏览器中访问http://10.80.210.214
使用OBS(点击下载) 推流