WebRTC的集群一般叫级联,是扩展服务器并发能力的一种方式,单台服务器支持的并发有限,通过级联可以支持更多的并发。WebRTC是基于UDP的,因此我们选择QUIC协议作为集群之间的通信协议。腾讯云肖志宏是SRS的技术委员会成员,在传输协议方面经验丰富,将给大家带来SRS如何支
有状态: 流媒体服务器和客户端的交互比较多,中间保存了一些状态,这导致负载均衡服务器无法直接在服务出现问题时,把请求直接给一台新的服务器处理,甚至都不是一个请求,这个问题在 WebRTC 中尤其明显,DTLS 和 SRTP 加密的这些状态,使得不能随意切换服务器。 相关性: 两个 Web 请求之间是没有关联的,一条失败并不...
关于SRS的WebRTC级联方案,以及如何用QUIC协议实现,包括QUIC协议介绍和选型。这是志宏在LVS 2021北京分享的话题,可以阅读原文在B站上观看原视频。 Note: 本来在视频号上也发过这个视频,后来发现还是B站发长视频比较好,观看体验更好些,所以换成了B站小程序观看。 Note: 以后SRS视频号只做直播了,视频教程全部放在B站,SR...
一般在RTC中,这种叫做Casecade(级联),也就是它们是平等关系,只是一级一级的路由一样地连接起来,增加负载能力。如下图所示: 这里和OriginCluster有本质的不同,因为OriginCluster之间并没有媒体传输,而是使用RTMP 302让Edge跳转到指定的源站,因为源站的负载是可控的,它最多只有有限个Edge来回源取流。 而OriginCluster...
总的算起来做过 1 年左右 Flash 播放器,1 年左右 FFmpeg 转码,4 年左右直播服务器和 CDN,4 年左右 RTC 的传输网络;而 SRS 基本上和后面这 8 年的经历比较吻合,SRS 基本上也是属于音视频服务器,也就是后端网络。 除了技术能力,我管理能力方面也在发展。因为技术是人的技术,不存在纯粹的技术,也不能把码农...
总的算起来做过 1 年左右 Flash 播放器,1 年左右 FFmpeg 转码,4 年左右直播服务器和 CDN,4 年左右 RTC 的传输网络;而 SRS 基本上和后面这 8 年的经历比较吻合,SRS 基本上也是属于音视频服务器,也就是后端网络。 除了技术能力,我管理能力方面也在发展。因为技术是人的技术,不存在纯粹的技术,也不能把码农...
因此,WebRTC的负载均衡,就完全不是Edge能解决的,它本来就是依靠源站集群。一般在RTC中,这种叫做Casecade(级联),也就是它们是平等关系,只是一级一级的路由一样地连接起来,增加负载能力。如下图所示: 这里和OriginCluster有本质的不同,因为OriginCluster之间并没有媒体传输,而是使用RTMP 302让Edge跳转到指定的源站,...
有状态:流媒体服务器和客户端的交互比较多,中间保存了一些状态,这导致负载均衡服务器无法直接在服务出现问题时,把请求直接给一台新的服务器处理,甚至都不是一个请求,这个问题在WebRTC中尤其明显,DTLS和SRTP加密的这些状态,使得不能随意切换服务器。 相关性:两个Web请求之间是没有关联的,一条失败并不会影响另外一...
目前SRS的单线程,能适应绝大多数场景。对于直播来说,Edge可以使用多进程REUSEPORT方式,侦听在同样端口,实现消耗多核;RTC可以通过一定数量的端口;或者在云原生场景,使用docker跑SRS,可以起多个K8s的Pod,这些都是可选的更容易的方案。 Note: 除非是对成本非常敏感的云服务,那么肯定可以自己定制,可以付出这个复杂性的代价...
长连接: 直播和 WebRTC 的流都是长时间,最长的直播可能超过 2 天,而会议开几个小时也不是难事。因此,流媒体服务器的负载是具有长连接特性,这会对负载均衡造成很大的困扰,比如轮询调度策略可能不是最有效的。 有状态: 流媒体服务器和客户端的交互比较多,中间保存了一些状态,这导致负载均衡服务器无法直接在服务...