SRS 利用集群提高并发量 支持更多的推流与播放

本文介绍了如何通过SRS的源站集群和边缘集群来提高并发推流和播放能力。源站集群通过Vhost和HTTP API实现流的分布式存储和查询,边缘集群则通过多进程和多CPU扩展播放能力。强调了推流到Edge而非直接到Origin,以及配置Edge以支持源站故障切换的重要性。
摘要由CSDN通过智能技术生成

这是我参与8月更文挑战的第11天,活动详情查看:8月更文挑战

如何支持更多的人推流?如何支持更多的人观看?这本质上就是系统的水平扩展能力。

1、源站集群-更多推流

在SRS的角色中,Edge主要解决播放或下行的扩展能力,而Origin则是解决上行或推流的扩展能力,比如需要推1万路流。

1.1 Vhost方案

如下图所示:

此时需要终端指定不同的vhost

1.2 源站集群方案

基于Origin Cluster源站集群扩展源站,如下图所示:

两个Origin服务器之间会互相查询流,若Edge请求的流不在本源站上,会将Edge定向到有流的Origin

由于源站是流的最终所在地,所以他本质上是有状态的,两个源站并不是完全等价的。而边缘可以认为是合并回源的代理,两个Edge是没有差别的,它们并没有存储流的信息,都是通过源站获取流。

因此,推流的扩展能力,比播放的扩展能力,对系统的挑战是更大的

通过Edge推流

不建议直接推流到Origin源,而是通过Edge推流到Origin

1.3 编写源站origin配置文件

The config for origin 19350:

# conf/origin.conf
listen              19350;
max_connections     1000;
​
daemon              off;
pid                 objs/origin.cluster.serverA.pid;
srs_log_file        ./objs/origin.cluster.serverA.log;
​
http_api {
    enabled         on;
    listen          9090;
}
​
vhost __defaultVhost__ {
    cluster {
        # local: It's an origin server, serve streams itself.
        # remote: It's an edge server, fetch or push stream to origin server.
        mode            local;
​
        # 源站集群只支持RTMP协议
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值