欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~

本文由织云平台团队 发表于云+社区专栏

img

2018世界杯鏖战正酣,在国内看直播的小伙伴想必也看得很过瘾,那么国内的小伙伴是如何收看到流畅、清晰的直播呢?腾讯视频云直播平台作为助力本次世界杯国内直播的重要PaaS平台,期待给大家带来优质的体验。下面我将从全球节点分布建设、智能路由、动态加速、混合云管理以及质量监控上报等方面来详细介绍我们是如何保障将数据在全球网络上高效稳定的传输。

修路(全球节点覆盖)

有句话说得好,“要想富,先修路”,其实对于我们的直播平台同样适用,要想提供优质的服务质量,把‘车’开得又稳又快,首先要有高速的‘路’, 但是要想修好路也不是一件容易的事。

首先需要考虑如下问题:

• 海外国家+城市成千上万,节点该建在哪里

• 如何做到花更少的钱,做更好的事,平衡质量和成本

从这些方面来应对:

• 基于公有云厂商以及客户需求分布

• 综合考虑政策成本质量等因素来调整调度分布策略,eg:

中东地区:

首先迪拜被选覆盖点,但是接入质量不是特别理想,因为迪拜是一个有GFW防火墙的国家,目前只是将迪拜覆盖本地,接下来我们会在卡塔尔或者伊朗选点覆盖中东。

印度和印尼地区:

不仅国际出口不稳定,带宽成本更是其他地区的好几倍,所以目前只选择覆盖本地。

澳大利亚地区:

各大云厂商主流在悉尼和墨尔本等。

目前我们已经建成了了包括香港,新加坡,韩国,泰国,印度,德国,俄罗斯,美西/美东,加拿大等10大海外独立中心节点, 以及全球5大洲40多个上行加速节点:

img

选路(全网动态调度)

有了全球节点覆盖, 我们还应该意识到就近不一定最优, 所以还需要选路,实施全网动态调度,保障用户能够通过最短路径传输到源站,原理如图:

img

1

如何选取最优接入点?

海外不像国内,运营商和地区要复杂得多,首先解析要准确,美国需要解析到美国,最好能具体识别到洲,越细粒度越好,美东不能接入到美西去。我们采用腾讯GSLB全球IP地址库,可以精确到地区解析,质量较直接按国家级别来调度有很大提升,以美国地区为例:

img

同时,通过大数据分析拨测各个边缘节点的质量,以便分配最优的点给到用户。

2

如何选取最优传输路径?

在智能路由,全网调度方面又应该如何考量?大家都知道公网的网络经常波动,节点的容量和故障也都会影响传输质量, 所以一套能够帮助大家实时分析当前路由、链路质量、以及节点负载容量情况的路由质量评测系统就非常有必要了:

img

然后根据分析结果实时干预,实现全网智能调度:

img

修车(协议优化)

有了高速公路,以及最优路线图,我们还需要有一俩性能优秀的‘车’,可以从如下几个方面来改装优化,帮助其加速:

• 基于TCP RFC的用户态协议栈(保留公平性、友好性)

• 全链路加密,保证数据安全

• 多路复用(无Head-of-line blocking)

• RTT握手+秘钥协商

• 平滑发送(Pacing mechanism)

• 精准RTT测量。基于NACK的丢包发现

• TCP优化

• 连接无缝迁移

使用基于UDP的QUIC协议比使用标准的RTMP协议推流卡顿率更小,尤其是在网络丢包较大时, 卡顿率依然保持不变:

img

img

织云混合云管理

前面说到“修路”,“修车”的问题,作为一个多面手的运维Sir,我们还需要保障这些不同国家和地区运营商的“路”能够统一升级、维护、有统一的运营标准。这里就是接下来我们要说到的混合云管理,那么当前混合云有哪些场景和各自的优缺点呢?

img

同时,这么多的云场景,给运维人员也带来了很多挑战,比如:

机器环境不统一问题

1 操作系统不一样

2 网卡命名不统一

3 内网IP冲突

数据无法上报问题

1 单机属性上报

2 多维属性上报分析

3 一致性上报

业务部署发布问题

1 程序装包和更新

2 配置下发

3 文件下发

安全风险问题

1 外网ssh开放

2 登录、shell审计

3 入侵检测

网络质量问题

1 跨网丢包延时大

2 网络抖动

3 监控告警

运维其他操作问题

1 防火墙修改

2 主机名修改

3 命令执行

4 文件传输

为了解决这些问题, 腾讯织云混合云解决方案是这样设计的:

1、功能设计:

img

2、整体架构:

img

腾讯视频云直播海外节点由多个云环境组成,包括腾讯云,腾讯自研环境、其他合作伙伴云厂商等,通过使用织云混合云管理方案,已实现混合云环境的自动化运维。比如包发布功能,全球节点一键发布:

img

在接到本次俄罗斯世界杯的紧急需求时,也能游刃有余的提供优质的服务。

织云海外节点监控上报方案

解决了上面的问题, 还需要解决各个节点的数据上报、网络链路监控告警等问题,如下:

1、如何及时发现和跟踪海外各个节点的数据是否异常:

img

2、基于链路的网络质量监控系统:

• 使用基于链路调度的监控方式来上报质量

• 将网络丢包、延时等监控数据入库大数据分析网络情况,给到调度系统决策最优路径

img

img

小结

通过前面的分析,我们可以看出,为了帮助用户实现告诉稳定的传输,首先在用户到边缘节点这里要全球部署,精准调度;其次,在加速节点之间要能智能选路,全网动态调度,协议优化;最后,在加速节点到原站这里,还要同城同运营商部署、智能选取最优出口。做到以上三段加速,基本上大家的海外运维之路已经迈开脚步了。

问答

使用nlp进行句子压缩?

相关阅读

内行看门道:看似“佛系”的《QQ炫舞手游》,背后的音频技术一点都不简单

2018世界杯用户行为新趋势洞察报告

低于0.01%的极致Crash率是怎么做到的?

此文已由作者授权腾讯云+社区发布,原文链接:https://cloud.tencent.com/dev...

欢迎大家前往腾讯云+社区或关注云加社区微信公众号(QcloudCommunity),第一时间获取更多海量技术实践干货哦~

海量技术实践经验,尽在云加社区


腾讯云开发者
21.9k 声望17.3k 粉丝