直播类业务云化建设

作者:肖世广

一、 背景:直播类行业发展与压力

1. 直播类行业爆发式发展

直播类业务是基于影音形态, 以信息传递为目标的服务方式 ,其发展空间依赖于两种基础能力:技术与资源,进而基于产品能力进行放大。

基于终端解码能力、移动3/4G普及和产品维度的进步,从PC端“体育赛事+综艺”的直播点播形态,扩张到移动时代的游戏直播、个人直播以及细分垂直直播。直播类业务迅速成长成为一个独立行业,规模庞大,分工精细。

2. 视频云平台已承载业务

当前直播类业务已经进入万花筒式的发展阶段,从当前视频云平台的承载业务来看,内部业务有“全民K歌”、“企鹅电竞”等为代表的个人直播与游戏直播,外部业务更有“斗鱼”“龙球”“CNTV”“全民TV”等众多需求。

视频云平台当前承载的业务体量大,业务数量多,已经是一个成长迅速的服务平台,那如此繁复的服务需求,带来的规划增长是什么情况呢?

3. 视频云平台面临的压力

第一个挑战点 - 资源:业务快速增长对视频云系统提出了持续扩大的资源运营压力。

以近一年的业务增长情况来看:

a) 设备量增长:超过300%,越过万台规模量级;

b) 客户量增长:超过400%,越过3000接入业务规模;

c) 带宽增长:更是超过800%,达到T级线后持续海量攀升。

如此海量的服务压力,对视频平台提出了更高的要求,仅就服务能力目标来说,大容量、低成本、高质量的直播平台就是当前主要述求。

而基于腾讯云所规划的IaaS的基础服务能力能力,云所具有的更大弹性Buffer,更集中的资源管理能力,全球化的部署策略,在资源供给方面具备强大优势,可以提升交付速度、容量空间与全球服务的基础需求。视频云上云是一个使直播类业务,更具发展空间的战略方向。而视频云平台在进行云化建设之前,已经成长为一个成熟的复杂巨系统。接下来可以看一下这个巨系统上云,我们将会面临的挑战。

二、 挑战:视频云上云难点

1. 难点分类

核心原因:涉及多平台多部门,且机房基础环境差异大。

a) 平台间依赖

由于平台功能定位的不同,三大平台的主诉求与服务目标也各不相同:

互动直播:以双向传输、实时交互为需求,实时视频通信。互动直播在需要大量扩散时,多数用户仅观看,为单向传输,复用直播下行扩散能力,依赖直播平台。

直播平台:以单向传输、高扩散比为需求,有延时直播。直播内容存在点播需求,此部分业务由点播平台承载,故依赖点播平台。

点播平台:以预存储视频、按需回放为需求,非实时播放。

按上述三个平台的规划目标, 其依赖情况如下:

互动直播依赖直播:互动直播内容在需要大量扩散时,多数用户仅观看不互动,为单向传输,复用直播下行扩散能力,依赖直播平台。

互动直播、直播依赖点播:两种直播的内容,均有点播回放需求,需要依赖点播平台。

所以三大平台上云顺序由依赖顺序决定,点播->直播->互动直播,其中互动直播在扩散需求不大时,可与直播平台同步进行。

b) 自研机房与云机房环境差异大

从上述三个方面看,基础环境上的差异,对于系统架构,特别是灰度上云方案的过渡期(自研-云机房-第三方机房并存、且流量需互通),提出了巨大的挑战。

c) 支撑系统上云能力

支撑系统原有设计运行环境为自研机房,且均以内网服务形态支撑各类业务,相关部分模块不具备外网服务能力。当面临云上建设时,具体矛盾凸显出来:

外网通信需求:第三方机房等环境下,需要打通统一运营平台,即面临需由外网通信条件下,进行支撑系统汇总管理(独立部署无法实现汇总)。原支撑系统部分业务,仅支持内网通信,需解决。

外网通信加密、加速需求:灰度上云过程中,信令需经外网穿越各机房间,需要进行加密处理,同时要保证通信效率,确保不会影响业务能力,需保障。

内网模块跨网管理需求:部分业务模块(如转码),其上下游模块均由内网通信,在第三方环境下,需经外网与国内支撑系统server打通。此类模块无外网Ip,且不应有外网ip,需应对。

三、 应对:视频云上云详细方案

1. 直播平台上云方案

视频云平台的服务目标是全球用户,所以直播平台必须具备全球同步能力,以此保证全球用户均可享受同样服务内容。

而且直播平台云上建设中,突出的风险是灰度过程,所以直播平台需先规划并建设全球跨云运营方案。然后依此方案,解决在灰度过程中的质量控制与调度需求。

跨云交互方案核心点说明:

a) 调度中心交互

主播上行流,只会推送上图三大区中的一个区域,但其观众可能横跨三个区域,所以调度中心需要完成流数据互换,以保证各区均拥有同样流数据,服务拉流模块,进而提供全球服务。

在这个环节,流数据的同步速度与稳定性,就是保证服务质量的前提。此处通过多种方式提升外网通信条件下的通信质量:

双capip(腾讯自有Ip):打通云支撑-自研通路,通过此配置方案,腾讯云机房与自研机房间,可由腾讯专线进行流量交互,避免形成外网穿越。(实现原理:网平交换平面识别到目标为自有IP,则绕行内网专线)

权限放通:打通云支撑-公有云通咱,通过安全审核后,由网平进行放通策略配置,使两方可由内网进行直接通信,避免形成外网穿越。(实现原理:物理网互通,但需要对软隔离网络,进行打通配置操作)

b) DC源回源交互

当主播与观众同同区接入时,需要跨区拉流,在调度中心的管理下,各区DC均可通过访问本区调度中心,寻找指定流所在流处理模块的位置(IP/域名),并进行拉流服务,提供下行服务。

以此解决灰度过程中,三区共存情况下,流在全球环境下的播放需求。

2. 互动直播平台上云方案

互动直播同时依赖点播与直播,所以需要分阶段上云,以适配整体上云节奏。如不按此流程进行,则可能出现业务流在云机房与自研机房间的多次穿越。

a) 依赖前置:直播点播上云

直播接流模块上云:直播平台需要为互动直播提供下行扩散服务,此处需直播平台先上云,使互动直播流上云后,即可在云上完成扩散服务。

点播存储模块上云:点播平台需要为互动直播提供录制文件存储能力,以提供对应点播服务。此处需点播平台先上云,使互动直播录制文件上云后,直接落存储,提供点播服务。

在这个阶段,由proxy代理上云,完成下一阶段上云的准备工作。

b) 阶段上云:互动直播部分上云(转码推流、录制截图、鉴黄)

转码推汉与录制模块上云后,可以依托云机房的资源能力,迅速放大服务能力。同时由于access等模块由于接入点需求(超过10个扩展接入点,云机房暂无此能力),所以此环节以中间模块为上云目标。

方案关键点:

增加媒体适配层 – IP收敛:未使用普通代理或IP直出,原因是录制模块拥有自治能力,模块内有调度与执行两部分组成。如果使录制模块直出IP,与access等尚处自研模块通信,需配置录制模块外网Ip,投放1000+三网IP,安全与资源两方面均无法满足。媒体适配层可区分信令流与业务流,使用少量IP即可完成接流,同时适配录制模块调度策略,按路由要求,按Ip将业务流投放到指定录制设备上。

增加access_proxy – 质量保证:proxy通过配置capip,结合媒体适配层同样配置capip,解决IP收敛问题后,使流量由腾讯专线上云,保证了通信质量。

c) 完成上云:互动直播完成上云(其它模块上云)

最终环节为解决access的众多用户就近接入点等问题后,完成涉及模块上云。最终完成上云工作。

3. 点播平台上云方案

点播平台由自研的FTN存储形态,改为云机房的COS存储形态,通过COS分区域集中部署,改善服务能力,实现点播2.0的服务目标。

方案关键点:

a) 增加上传代理 – 灰度过渡

点播流上云,需解决原有内网模块跨云通信问题,此处通过proxy解决灰度过渡问题,避免相关模块改造后,上云完成又废弃外网功能,造成开发资源浪费。

b) 改造COS接入 – 适配COS

COS是云机房提供的统一存储服务,性能优于FTN,但接口更丰富,点播2.0专门开发此模块进行适配。

c) 分区集中存储 – 各区独立

COS以广州云机房为国内首批上云承载点,以新加坡为海外首批上云承载点。后续将投放天津、上海点,并扩建海外点。

4. 跨云Proxy方案与效果

a) Proxy架构分类

视频云为了减少业务模块的过渡性改造工作,使用了大量proxy解决跨云通信问题,同时应对灰度与全球通信需求。

方案关键点:

  • 4层代理 – 互动直播流上云proxy互动直播为了优化双人互动视频,使用了私有协议进行服务,此类流无法使用7层代理,需定制开发,以配置方式决策路由出口落点,实现代理功能。
  • 4层复合代理 – 流媒体适配层

互动直播录制模块,按上文所说,为进行IP收敛,进行了定制开发,不但适配私有协议,同时扩展支持信令交互,具体基础代理以外的录制策略路由及流调度能力。

  • 7层代理 – 点播文件上云点播2.0为支持第三方上传服务,使用了http协议上传,所以此处以nginx代理方式实现业务流出自研机房上云动作,云机房侧由点播upload接流后,存入COS。
  • 7层复合代理 – 织云桥头堡

织云做为运营平台,与设备稳定通信并传输业务包是质量评估点之一,由于海外业务网络远,但统一管理平台需集中部署(国内),这里基于“指定路由+https协议”进行加密通信,同时提供信令传输与文件分发能力,提高运营效率。

b) Proxy优化效果

多种proxy均是为了减少短期开发,提高跨云质量,从对比图来看,直接走外网进行跨云通信(图上),云机房(跨云服务)卡顿率不稳定,且高于自研机房质量。而经过proxy优化后,云机房(跨云服务)卡顿率与自研机房基本一致。

此处涉及的典型代理有四种:

  • DC同运营商 – 跨云拉流DC原有自研机房拉流方式为内网通信,而出外网跨云拉流时不区分运营商拉流,导致质量下降,经改造(主动向control调度模块上报IP,请求分配同运营商流处理proxy),实现同运营商拉流,提升拉流质量。
  • 调度数据缓冲层 – 全球同步

流数据在全球有同步需求,当前核心CDB部署在广州云,全球control直接访问CDB效率低(容易发生抢占锁,及网络不稳引起的通信失败),增加本地缓冲层,实时同步核心CDB数据,提升响应服务效率。

  • 录制文件上传 – 通道收敛录制模块为内网模块(1000+台),如独立配置外网Ip通信,不但需要改造,且由于1000+外网Ip使运营复杂。这里增加流媒体适配层,通过capip绕行内网专线,提升稳定性,改善服务能力。
  • 基于Q调的加速通道

跨国拉流时,由于路线长,其间外网路由不可控,质量无法何证。这里基于Q调系统,寻找实时最优线路,由代理加速器进行代理通信,提高流传输稳定性,进行提升服务质量。

5. 上云灰度放量方案与质量对比

上云分为两个环节:灰度与质量验证,这里分别说明一下:

a) 灰度

Q调接入 – 依赖客户端SDK:使用腾讯SDK的客户,可以通过Q调系统,引导使用最优上行接入点。这里的灰度需对Q调返回引导地址,进行更换,按服务端配置文件指定百分比,按比例将客户端引向云机房接入点。这里不直接将云机房接入点引入Q调系统的原因,是由于Q调按质量引导,一旦混用,则无法控制灰度量级,所以必须使用配置文件引导。

域名接入 – 依赖DNS:未使用腾讯SDK的客户,导由域名访问视频云接入点,这里按平台、省份、运营商多个维度,进行域名管理,通过DNS轮询机制,增加云机房接入点IP,进行引导灰度。

两相比较,Q调灰度灵活、生效快,但依赖SDK;域名灰度比例难以调度,回滚时间略长,但无依赖,具有广泛适用性。整体评估,视频云的灰度,由使用Q调的自有业务入手,验证能力后,进而实施域名调度。

b) 质量验证

质量验证方式需要统一,当前效果最好的验证方式,就是使用Q调进行对比评估。将同一路流,同时推送云机房与自研机房,并从两区域分别拉流,以Q调数据验证质量。

以上节所述评估方式,结合实际客户端播放情况进行评估,云机房由于基础环境更新,云机房质量与自研质量持平或更优。

四、 步履:直播类业务云化之路

原有直播平台的服务目标为内部业务,改造空间和适配性有限,所以进行了前置的重构工作,重构并切换完成后,上云工作正式展开。

2016.9.14:新系统上线切换完成,正式启动上云工作。

2016.10.27:云上完成全模块部署,并进行业务流测试,测试正常,具体上云基础环境。

2016.12.12:结合业务情况与灰度方向,确定灰度方案,直播由自研业务-企鹅电竞启动,互动直播由大智慧启动,点播业务由录制类小业务进行。

2016.12.21:自研-云机房互联测试(DC拉流优化、点播proxy测试等)完成,灰度工作准备启动。

2016.12.28:点播平台首先启动灰度上云。

后续节点:

2017.3.28:当前点播业务流98%流量已经上云,预计3.28完成点播上云。(但自研已有存量点播文件,需待过期后删除下线)

2017.5.25:预计直播平台完成上云。

2017.6.25:预计互动直播平台完成上云。

五、 出海:视频云海外建设

1. 海外分布能力

当前视频云在全球已有多个服务点,具体分布如上图所示,其颜色分类说明如下:

a) 独立SET部署点

红色节点:视频云独立SET部署点,单set具备完整直播服务能力。

b) 独立SET待部署点

橙色节点:视频云规划中的独立SET部署点。

c) 接入点

紫色节点:视频云接入点,但无独立服务能力。

2. 流数据全球同步与统一调度

流数据全球同步能力,是统一调度的基础。若所有访问均直接请求核心CDB(大量跨国访问),服务质量无法保证,这里增加数据中转服务模块。

方案说明:

a) 数据中转广州模块

具备读写核心CDB能力,同时拥有本地缓存,是所有数据中转模块的同步数据源。

b) 数据中转香港模块

定制加密通信隧道,提升与广州通信质量,向广州模块提交香港数据流信息;同时做为海外其它中转模块的代理,提供数据同步服务。

c) 数据中转其它模块

向香港模块提交流数据信息,同时由香港模块,获取广州模块提供的所有流数据信息。

d) Control模块

调度模块,需要高速处理调度信息,所有流数据原始信息,均由control发往本地数据中转模块,并由中转模块查询全球流数据信息。

3. 海外统一存储方案

视频云当前的海外节点正在持续建设,服务规模还在发展中,考虑到COS为腾讯云基础能力,设备投放量大,基础成本起点高,当前按存储量进行规划后,以新加坡为统一COS存储落地点,提供点播存储服务。

方案关键点:

a) 海外统一存储

当前海外主要服务目标为东南亚,当前复用新加坡COS为统一存储结点,后续按业务增长潜力进行多点容灾规划。

b) 录制解耦外网通信

为保证录制模块功能统一,解耦外网路由能力,由proxy统一进行录制文件代理上传功能,实现海外录制文件的存储落地能力。使得录制在纯内网环境下可以简化逻辑,不因涉及海外路由优化,而被动改造。

4. 运营环境全球解决方案

织云统一管理的基础是自研机房已建设的平台集群。为了统一管理,不再单独建设各点织云系统,这里面临的问题,就是如何在全球分布的视频云平台上,进行透明化管理。

方案关键点:

a) 织云核心集群 – 保留在自研

织云不只支持视频云,还有大量自研业务,需要具备全环境服务能力,留在自研改造灰度风险低。

b) 香港代理 – 海外加速

海外到国内的网络质量不稳定,而香港是海外接入质量最好的点(拥有专线),由香港作为海外代理接入点,进行提速。

c) 桥头堡代理 – 加密分发

桥头堡代理提供加密通信与跨机房路由功能,同时提供本地文件分发能力,减少文件重复传输,提供透明访问代理。

5. 海外上行加速

海外上行接入点网络复杂,直接就近接入,未必是最佳选择,这里分别使用Q调的全球质量分析能力,优化接入。

方案关键点:

a) Q调 – 采集分析

采集所有接入点在各地的接入质量数据。

b) 客户端 – 寻路请求

客户端由Q调获取网络质量最优的上行接入点。

c) 客户端 – 接入上行

客户端按路由接入,获取最优服务能力。

6. 海外下行加速

视频云除了上行接入部分进行了优化,下行部分也规划了优化方案。

方案关键点:

a) POP专线 – 跨洲优化

通过网平POP专线的能力,提供跨洲情况下的下行加速,北美的流需要在东南亚播放时,该视频流将由POP专线到达东南亚SET后,再进行扩散下行。

b) 并行加速 – 跨SET扩大通路

SET间建立多信道,解决单一信道容量有限的问题,扩大通路能力。

c) 多连接 – 单路视频流加速

使用类trunk方式,在多信道同时传输数据,提高单路视频传输能力。

d) Tcp转udp – 协议优化

tcp依赖可靠联接,长途通信时,转为udp包进行跨set传输,更有灵活性及更大吞吐能力。

六、 平台:视频云平台运营规划

视频云需要海量资源搭建服务基础,同时提供丰富的服务能力,所以使用了三层结构,提供平台服务能力:

1. 腾讯云Iaas – 基础资源

基于腾讯云提供的基础资源能力,视频云可以选择不同能力的组件完成架构工作。实体机(支撑环境)、TVM(自研过渡)、CVM(云机房虚拟化能力)、CDB(关系型数据库)、Redis(Nosql数据库)、COS(云统一存储)、CMQ(消息队列)、VPCGW(管理网关)、VPNGW(出口加密网关)等等。后续将依此基础资源能力,在优化性能(GPU设备等),扩大覆盖(海外新节点等),优化资源交付(快速供给与上线)等数个方面,进行扩展,发挥腾讯云的资源优势,扩大服务范围。

2. 视频云PaaS – 业务能力

视频云业务基础,组成部分由客户端SDK开始,接业务流流向,覆盖所有业务模块。当前模块分布于多个部门与机房,后续基于资源与业务需求,提升模块性能(架构技术),适配业务需求(P2P等定制需求),提升服务能力。

3. 运维SaaS – 运营管理

运营优化的核心层,通过顶层封装,提供多方面的全球服务能力,如自动化运维(基础监控与视频云运维),快速交付(容量管理与场景化工具),容灾(调度与柔性),成本优化(资源负载),数据挖掘(日志与业务数据)、质量响应(多维监控、舆情与告警)

七、 小结

直播类业务云化建设,本质上是一个将自研已有的“复杂巨系统”向全球化扩展的上云之路,各方面团队共同面对,并解决了诸多环境差异与业务适配需求的难点,在保证业务能力与服务质量的大前提下,做了很多辛劳工作,保障了上云之路持续扩展。但路漫漫其修远兮,视频业务方兴未艾,未来更有成为基础服务的潜力,其上有更大的服务空间可以探索。

相关推荐

视频云解决方案

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SDNLAB

网络虚拟化四法,SD-WAN最佳

网络虚拟化是一个非常热门的话题,运营商的网络虚拟化的计划周期很长,他们必须了解虚拟化的发展趋势以及在这个趋势下会把他们引入到哪里,实现网络虚拟化的周期甚至长达十...

2539
来自专栏魏艾斯博客www.vpsss.net

搬瓦工 VPS 香港机房方案汇总及选择建议

2663
来自专栏DevOps时代的专栏

中国银行 DevOps 历程、 效果及展望

? 讲师 | 张新 编辑 | 白凡 作者简介: ? 个人简介:张新,曾从事中国银行软件设计开发工作,熟悉银行业务系统和开发过程;现作为中国银行软件中心DevO...

3134
来自专栏网络

数据中心如何保护信息安全

伴随《中华人民共和国网络安全法》的表决通过,明年落地实施等消息地传出,网络安全这个字眼活跃在大众视野中。其中有条文规定:网络运营者除了应当按照网络安全等级保护制...

1919
来自专栏云+创业计划

『云+创业』计划扶持协议

在使用『云+创业』扶持资源(可简称“扶持资源”)之前,您应当阅读并遵守《『云+创业』计划扶持协议》。请您务必审慎阅读、充分理解各条款内容,特别是限制或免除责任的...

3749
来自专栏鹅厂网事

腾讯DCI上线基于集中控制的SR-TE方案

"鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网...

2386
来自专栏SDNLAB

腾讯DCI上线基于集中控制的SR-TE方案

交通拥堵已经成为当今时代与每个人息息相关的问题,它直接影响了我们在现代社会的生活体验。传统的分布式交警管控方式,已无法解决急速扩张的汽车保有量与紧张的公路资源之...

3365
来自专栏腾讯技术工程官方号的专栏

腾讯 DCI 上线基于集中控制的 SR-TE 方案

经过三年多的研究探索及15个月的开发测试,基于 Segment Routing 技术和 SDN 思想,率先实现了对10w服务器级别的 IDC 园区间通讯。

48611
来自专栏SDNLAB

网络自动化和基于意图的网络(IBN)之入门篇

基于意图的网络(IBN)可以重新定义应用程序和服务在企业网络中的交付方式,但在此之前,这个概念必须先跟市场营销的宣传分离,并开始实现其承诺的优势。 ? 从ARP...

3156
来自专栏魏艾斯博客www.vpsss.net

搬瓦工香港方案补货及 DC9 CN2 GIA 线路近况告知

1943

扫码关注云+社区