直播在互联网市场中一直都处于稳定发展的局面,虽然直播行业经历了不同时期的洗牌和考验,但它还是依靠自身强大的变现能力 “存活”到现在。而且随着即将统一运营商服务和流量资费的不断下调,更是给视频直播软件开发业务提供了发展“温床”,比如接下来我要给大家分享的内容,开发过程中需要注意的网络架构相关。本文主要以 CDN为主来介绍相关的架构问题。
对于传统的点播业务来说, CDN只有下行分发不同。但是对于泛娱乐和游戏类的直播场景来说,直播架构是分为上行汇聚和下行分发两种的。
1. 主播推流模式
( 1 )直播端推流到上行边缘节点。
( 2 ) 上行边缘节点将流推到汇聚核心。
( 3 ) 汇聚核心收到流后,和 CDN 一样,不需要主动将流分发到边缘,一些转码 、 水印 或 录制类 的 业务 通常是 在汇聚核心完成 。
2. 回源拉流模式
如果用户在 访问到汇聚核心后, 会 向一个回源节点拉流,回源节点向客户源站拉流 。
3. 下行观看流程
( 1 ) 观众到边缘节点拉取直播流 。
( 2 )在 边缘节点上 如果存在音视频 流, 可以 直接发送给观众,如果没有 就 会向上一级回源 。
( 3 ) 上一级节点可能是中转节点,也可能是汇聚核心。 通常会在两种情况下选择是否经过中转节点,即下行边缘到汇聚核心链路质量和汇聚核心处理能力。
对于 CDN来说,是不可能单独使用一个汇聚核心的。如果使用单独的汇聚核心,一旦遇到网络故障或者是高并发等情况发生,就会导致整个直播业务出现瘫痪的情况。况且,单独的汇聚核心无论怎样都是无法覆盖全国的,所以就需要大量的中转节点。通常,直播会使用多汇聚核心的架构,即以下两种方式。
1. 链路选优
即上行到一个链路最优的核心,下行也到一个链路最优的核心。两个核心之间使用专线 “打通”,从而保证传输质量。国内通常使用3个核心就可以覆盖国内的主要运营商和区域,5个核心基本就能全覆盖所有边缘节点。链路选优问题是需要进行长期的实时数据监控的。比如,直播流在哪个汇聚核心,是汇聚核心之间互相能拉到流的基础。如果需要考虑一些异常节点无法使用的情况,那么就需要进行对应的数据清理。需要注意的是:多一级拉流会增加首屏时间。
2.保证每个汇聚核心都有流
即下行边缘无论如何都能拉到流。这一架构的优点就是不需要使用数据库进行记录是推到了哪个核心,但是也容易存在以下几个问题。
(1) 上行边缘到两个核心的质量无法保证,如果上行边缘到某个汇聚核心的链路质量较差,那么从这个汇聚核心拉流的用户观看质量肯定会很差。
(2) 上行边缘是需要推两份流到汇聚核心的,这样一来就会造成一定的带宽浪费。对于直播来说,带宽的耗费远远要比主播的收益要高得多。
(3) 为了解决上行边缘到所有核心的链路问题,就需要选取很多的中转节点,或者是使用 BGP的机房作为上行边缘,这样就会耗费更大的成本。
在视频直播软件开发过程中, CDN的架构也是相当重要的。至于选择哪种架构,还是要根据直播平台自身的定位和资金等方面来决定的。
本文声明原创,转载请注明出处。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69907981/viewspace-2638893/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/69907981/viewspace-2638893/