网易视频云邵峰:构建云直播分发网络

2017-04-13 14:04:29 热度:
2017年4月12-13日,2017亚太CDN峰会在北京隆重召开,大会由亚太CDN领袖峰会、国际CDN论坛、电视新媒体CDN论坛、视频云论坛、未来网络论坛、C未来视频峰会、亚太CDN展览会等7大部分组成。在13日上午的视频云论坛上,网易视频云技术专家邵峰作了题为《构建云直播分发网络》主题报告。
 
图为:网易视频云技术专家邵峰
 
一、分发网络构建实践的思路
 
邵峰分享的实践案例描述了网易云直播产品在开发过程中流媒体分发网络构建的过程,网易云直播产品在实践过程中为了保证全网直播的流畅度选择了降低直播卡顿率,然后进行了分发网络构建。构建过程分为三个阶段:单CDN模式阶段、多CDN模式阶段、融合CDN模式阶段。最后通过这三个模式演变达到直播无卡顿的目标,实现云服务直播流能够在全网进行分发,流分发基本无卡顿(卡顿率小于5%)。
 
网易云服务直播是PaaS级的云服务产品,对企业级用户提供整套直播解决方案,在一开始提供云直播解决方案的时候就发现直播产直播流分发比较卡顿,针对这样的难题,传统的CDN分发网络无法从根本上解决卡顿的问题。针对这种情况网易云决定通过自己的技术手段来构建自己的分发网络:首先先要寻找问题的瓶颈点,为什么出现卡顿,它主要的关键技术瓶颈点在哪里?
 
3个主要的关键技术点:1、节点覆盖问题。网易云发分发网络比如说区域节点覆盖不全会导致区域的卡顿,在运营商层面节点覆盖不全就导致相应运营商比较卡顿;2、接入点,主播上行推流线路接入点选择不佳也会导致整个直播链路的卡顿。3、一旦出现卡顿问题后线路调整也比较慢的,它会导致经常长时间的出现卡顿。因为线路无法调整,可能需要几天有些甚至是几周时间才能把线路调整过来。
 
寻找到这些关键点之后,通过努力将关键的技术瓶颈点解决。比如第一点节点覆盖不全,网易云把原来采用的单CDN换成多CDN,对于接流点不佳问题,网易云自建了接流源站,对于线路调整慢,网易云采用了中心调度的方式加以解决。
 
二、实践的过程
 
在演讲中,邵峰讲解了单CDN模式:单CDN模式的优点比较明确,首先它实现起来很简单,只要简单调用NPI就能快速的搭建。但是使用一段时间以后单CDN模式开始凸显了其劣势,主要有三方面的问题,第一是CDN分发网络节点覆盖不全,可能在不全的地方卡顿率很高。第二是在流量高峰期容错能力是比较差。第三是线路调整,有些线路卡顿问题比较严重之后需要调整线路,但是怎么调就需要借助第三方的CDN分发网络。通常调整的时间比较长,所以效果不佳。针对上述问题,网易云接入了多家CDN厂商,这样能解决节点覆盖以及备份的问题。同时网易云也开始着手自主研发。
 
其次是多CDN模式:多CDN模式的节点覆盖情况明显改善,线路调优也更快,并且在云管理中心可以任意切换线路。对比单CDN模式,它的卡顿率有明显下降,但在使用一段时间同样也发现了几大缺点:1、上行推流网络,推流线路没有办法进入优化。2、没法做到自动化的调优线路的目标的。所以针对这两点又对整个分发网络进行了优化,就是网易云实践的第三步——融合CDN模式。
 
融合CDN的关键改造有两点:1、接流源站:2、调度中心。
 
接流源站作用是什么?邵峰解释接流源站是用来优化上行的推流线路的。上行推流网络进行优化有很多难点,第一它毕竟全国都有布点,第二必须支持一些常用的推流协议,要做4K对接所有下行的一堆CDN分发网络。网易云融合CDN特色的、关键的改造模块就是调度中心,它的作用是优化用户的上下行线路,其次是对源站资源进行优化管理。它的实现难点是面对中国这么复杂的网络情况是如何提供一个最佳的路由线路,如何来高效的管理这些源站资源。
 
网易云自学习的调度中心:GSLB的调度中心依赖于IP地址库、规则库,所谓IP地址库就是根据IP就能获得地理位置信息,地域性信息、运营商的信息。整个调度的自学习过程大致划分为第一步调度中心获取用户客户端IP地址,然后根据IP地址查地址库获取地域性信息,然后根据地域性信息查询规则库,然后观众从融合CDN分发网络拉取流。在这个过程中的关键点就是两端提供了自研的SDK,自研的SDK会定时把两端的卡顿信息定时上报到网易云的服务器,加上网易云有自己的云统计中心,上报的卡顿信息定时进行处理,进行处理之后会触发一些规则调整,然后对规则库进行调整。这样一套简单循环式统计式的自调优的过程这就是网易云自学习的调度中心。
 
三、实践小结
 
网易云分发网络的建设过程的目标是建设分发网络,围绕降卡顿率为中心,这是用户感受最深的、也最为敏感的话题。通过寻找关键点以最小化代价来解决卡顿率的问题。网易云是一个线上产品,分发网络的构建以及优化的过程是分步骤走的,不可能一蹴而就。并且网易云在建设的初期采用的是传统的方案,租了传统的CDN分发网络。但是为了极致化的目标,网易云开始自建,采用了混合式、融合式的方案。
 
邵峰在演讲中分享的数据表明,从单CDN到多CDN卡顿率下降了26%,从多CDN到融合CDN又下降了44%,最终网易云的优化基本上能把卡顿率下降70%以上。网易云的云服务、分发网络的建设过程中是一个复杂的工程性问题,网易云最终采用了渐进式的解决方案。最后,邵峰对此次演讲做了一个小结:
 
1、抓关键点,抓瓶颈点,对瓶颈点问题进行解决。
 
2、网易云云服务厂商自建还是第三方服务选择问题,到底是选用第三方CDN还是自己自建的选择性问题,在不同阶段网易云采用了不同的方式,可能在建设初期全盘用第三方CDN,当然在建设中期或者优化阶段要加入一些自建的元素。
 
3、据网络问题网易云发现数据收集很重要,网易云通过数据收集做到自动化的调优。
 
4、广域网优化的自己的体会,服务节点越靠近用户它的体验效果是越佳的,所谓越靠近可能是地域上的服务节点比较靠近,也可能是运营商层面的比较靠近。
 
5、网易云发现一些分发网络特别是一些大型的互联网工程化的项目,它的优化是无止境的,但实际过程中必须考虑成本问题,用最小成本来达到最优化的目标。

责任编辑:方珍