查看原文
其他

【TOP100访谈录】网易邵峰博士分享网易视频云的架构演进

2016-12-21 孙绍红 中生代技术
本文系中生代技术记者Sunny在TOP100上采访网易邵峰博士整理而来,全文7875字,建议阅读时间6分钟

-中生代编辑

背景介绍


12月9日到12月12日,由麦思博(MSUP)举办的第五届全球软件案例研究峰会(以下简称:TOP100summit)在北京国家会议中心召开。

随着移动互联网时代的发展,移动网络的优化升级与资费下调、智能手机与音视频技术的成熟,视频被越来越多的从业者所重视,视频内容创业成为趋势,直播行业在2016年引起全民关注。

网易视频云作为网易于2016年发布的重磅产品,通过提供云直播、云点播、互动直播等产品,能够帮助企业有效应对视频平台的开发挑战。网易杭州研究院服务端技术专家,毕业于浙江大学的邵峰博士也将出席此次会议,为大家分享《构建云直播分发网络》,进而让大家了解网络分发系统的优化思路。


在活动第二日,中生代技术记者Sunny有幸请到网易的邵峰博士并进行了专题采访。

主持人:我首先介绍一下采访方,一家是比特网,比特网是中国最大的泛科技主题门户网站。另外一家是中生代技术记者技术,是自媒体运营的一个技术社群。

中生代技术记者:我们社群名字叫中生代技术,在线上通过微信群和公众号方式传播优质技术分享,进行热点技术问题讨论,中生代技术的微信群已经拥有了近两万名的国内外IT技术人员,其中公司创始人,CTO,总监及技术负责人超过千人。我们在全国各地也经常组织线下的技术分享活动、闭门会议,比如刚举办完的十月十城活动,活动当天在十个城市同时举办不同内容的精彩线下分享,惠及技术人员上千人。自媒体这种方式有很大的影响力。我本身是诺基亚杭州云平台的研发经理,通过社群可以接触不同行业的技术专家,可以学到很多知识。

网易生涯
中生代技术记者:邵峰博士您好,我们知道您现在是负责网易视频云的架构设计工作,请您再给我们进一步的做一下自我介绍吧?邵峰博士:我是浙大毕业的,博士毕业之后就直接进了网易公司(在学生时期实习也是在网易)。一开始主要是做一些分布式系统开发,都是服务器端的,后来到邮件部做反垃圾那一块的工作。后来大家也知道的,就是我们和电信合作做了易信,也是服务器端的,就像朋友圈那样的东西。现在就主要做视频这一块。把我们好的十多年沉淀下来很多核心技术,现在要把它公众化。


中生代技术记者:网易视频云有哪些竞争对手?目前来看公有云的巨头是阿里、亚马逊、微软,网易视频云在业内是什么样的地位?有哪些差异化?

邵峰博士:我是搞技术的。可能我们市场的同事会比较了解。我觉得这一块肯定是有竞争关系的,但是另一方面我们也是有差异化的。技术这一块抛开不说,感觉从服务这一块,据我们所知,好像没有一家其他的公司能提供像我们这么专业化的服务。因为你知道to B的话,提供解决方案,不只是一个技术给用户就行了。你要提供用户一整套的解决方案,帮助用户怎么用起来,怎么帮他做APP,做东西。网易视频云把自己定义为一个云服务产品。因为我们觉得云是一个服务,而不仅仅是一种计算能力。在实际应用中,我们发现很多客户没有研究开发的能力,他们没有资深的开发人员,更缺乏专业的音视频知识,边学边做的情况非常常见。由此也导致了问题的频发,小到“参数怎么设置”,大到“崩溃问题怎么处理”。如果没有这种云服务的话,可以说是寸步难行。网易云主打场景化的解决方案。主要是一些用户我们为他提供整套解决方案。现在我们是国内比较有特色化的,每个用户建立一对一QQ群,有意向的用户我们就建立一个单独的QQ群,然后提供一对一的帮助,这个服务是比较专业的,7×24小时,一对一是我们的特点。当然技术层面的话,像今天我讲的,网络分发这一块,在业内是比较领先的。


中生代技术记者:网易视频未来的产品规划如何?

邵峰博士:我们的产品规划就像刚才说的,视频会议这一块我们在做互动直播。互动直播是我们大的一个方向,还有是提供解决方案。因为现在互联网各行各业都要加入直播功能。除了直播这一块,我们还提供解决方案。现在正在做的就是一个大的互联网教育解决方案。当然在优化网络这一块,我们的战略布局是准备小运营商网络这一块我们要进行优化,还有国外的线路,其实国外到国内,国内到国外这一块也比较重要。当然我们战略最终要求我们整个产品部门要求是成为全球一流的音视频服务提供商,这是我们大的愿景。


中生代技术记者:网易视频云和传统的视频会议在技术上有什么区别呢?

邵峰博士:视频会议的话,可能是交互式的。直播的话,典型的场景是一个主播讲,然后分发到全国各地。但是视频会议缺点是要用专网。相对来说整个互联网下面的视频会议,现在还不是太成熟。但是我们也正在做这一块。我们的名字就不叫视频会议,我们叫互动直播。但是像思科之类,也是针对专网环境的,在广域网环境下,可能也不够成熟。这底下用的协议是不一样的。我们正在研制互动直播,已经有一套解决方案了。现在我们网易视频云也推出来了。


中生代技术记者:能不能端到端的介绍一下直播链路?

邵峰博士:整个链路的话,比如说你手机打开来,通过摄像头,相当于摄像头采集数据,采集数据就是音视频,压缩成H264的视频格式,音频的格式具体是AAC格式,然后打包成RTMP的直播流,这个直播流当中还有缓冲之类的流控算法等,这一块我就不具体展开了。RTMP ,也就是全数流打包完成后,你现在在北京,你要传输信号到全国各地,就要用到分发网络了。那互联网不就是一个很大的网吗?广域网你直接往上面发送直播流就行了。但是可能在中国的网络环境下是不太现实的,所以你直接推到广域网上就会比较卡。像现在的话,我们做了一套分发网络,你直接往我们的这套分发网络里推,我们就给你进行最佳路由选择,比如说在杭州、上海、新疆或者是在国内吧。接下来我们国内的分发网络也会慢慢增加,就是国外的用户就可以收到这个流。他是怎么收的呢?比如说你这个直播流先传给北京的接流服务器,然后先传到这边,接流服务器内部走一个大的专网,然后到杭州的一个边缘节点,也是一个服务器,然后观众从那边边缘服务器来拉取这个流,就是RTMP协议流,然后拉下来进行解码,然后以播放器的形式进行播放观看,这就是整条链路。CDN 是内容分发平台,一开始只针对静态文件进行分发,但是现在很多CDN厂商也在做流分发。流分发也叫BDN,也在CDN的范畴之内,但是现在每家传统CDN还有自己的局限性,不能解决所有的问题,所以我们采用了多家第三方CDN加我们自研的小型的CDN,做了一个融合方案。我们的主要目的不是去做CDN,而是做解决方案,提供一个针对直播场景的全面解决方案。


中生代技术记者:我们知道做视频直播经常会遇到视频卡顿的问题,尤其是在客户端的本地线路不太好的情况下,网易视频云是采用什么特殊的技术来解决视频卡顿的问题呢?

邵峰博士:卡顿涉及到整个直播的链路,不光是网络端,还可能是两端,即直播的推流端还有用户观看端,都是有缓存的。当我们发现有卡顿问题,就得从各个端进行排查。当然最终定位绝大部分的卡顿情况都是由于网络不太稳定,或者说网络选路不是很好引起。所以我今天下午演讲主题也是围绕这一块的解决方案展开。在推流端与用户端,我们也进行了很多优化。两端的话,弱网环境下,比如说发送的帧率、码率我们的解决方案都可以进行自适应的调整,就是流控算法相关技术。我今天讲的解决卡顿问题主要是在网络端解决,而网络分发涉及到国内网络环境的问题。中国的网络环境是全球最复杂的,为此我们花了很大力气。当然我们在选择产品或者选择做项目的时候要考虑一下前瞻性。现在网络环境不是特别好,于是我们很多专家提出来,中国网络环境以后可能就会像美国一样好,那个时候卡顿也不会成为大的问题。但是同样可能会出来一些新的需求,比如说VR直播,那个对流量的要求比现在视频直播更高,这个时候可能又有新的需求。所以我们这一套技术现在用在视频直播方面,未来我的感觉有可能比如说VR直播也会用到。所以技术框架本身是适应不同产品的。这个平台以后可能性还是非常大的,很多东西都可以用这一套平台。所以对这个平台架构设计的话,要有可延伸、可扩展性。


中生代记者:您提到过在CDN中用到了一个“自学习调度系统”的技术,能不能简单介绍一下?


邵峰博士:现在我们网络数据的统计是实时收集的,但是做到实时计算是不可能的,所以我们每隔一段时间对收集下来的数据进行批量处理。接着我们会再调整规则库,实时收集数据,对这些数据进行分析,当数据达到一定的阈值之后再调整规则库的策略,例如哪些网络环境下,哪一个区域的卡顿的数据为什么增加了,我们需要针对这些卡顿问题调整一下我们的策略。目前我们基本能做到自动化调整,当然也不可能百分之百的自动化,仍需要人工参与。我们有运营平台系统,我们有技术运营人员,在后台也会定期调整一些线路。


中生代技术记者:在网易直播云发展的过程中,经历单CDN,集群CDN,以及多CDN融合等阶段,整个演进过程当中,是什么在驱动这个变化的?

邵峰博士:是客户的需求在驱动。一开始一个产品立项,从架构师或者是项目负责人的角度来看,我们会选择一个技术路线。但是当你选择这个技术路线并实现之后,你会发现他能满足用户的需求,但你不可能保证百分之百地满足这个用户的所有要求。用户可能会提出,在一些区域出现卡顿情况了,你能不能快速帮我解决这个问题。或者说用户还没提出来之前你就发现了。在这种情况下,我们必须要对这个框架进行不断引进,但是一开始肯定是要求快。


中生代技术记者:但是遇到技术难题的时候,怎么去攻克?特别是有一些前瞻性的,像流控算法等等,怎么学习解决这些问题?

邵峰博士:我们技术人员都有自己主钻的某一块领域,网易内部其实是有很多各个领域的专家。我们平时也会多交流,特别是网络这一块,网易同样有技术积累。所以一方面比如说按照以前的技术积累,另一方面,很多如果说自己能解决的问题,那自己去发现解决。如果解决不了,大家可以一起讨论,头脑风暴。当然这也不是最终解决方案,还是要看真正数据出来到底好不好?实践是检验真理的唯一标准。如果产品、业务最终证明这个东西是好的,那就是好的。


中生代技术记者:当前视频直播大爆发的时代,对于云直播的PaaS的服务商来说,有哪些行业机遇?

邵峰博士:我感觉像视频云这一块,最终会撞上两个风口。一个是直播的风口第二云服务其实也是一个比较大的风口。细细深思一下的话,像直播和云服务也都是必然的。否则为什么我们去年在下半年就开始立项做这个东西。因为我们发现直播这个东西,我们从互联网人士来看,接触的经验比较多,现在正在从图文时代,慢慢转到视频时代。大家都知道社交这一块是必需的,那视频社交想想看好了,肯定会用到直播的。未来可能有更高级的,像虚拟现实之类的,会不会朝那个方向走不确定。但是不是今年或者是明年,直播肯定在一段时间之内会成为风口,而且很长一段时间之内会成为互联网行业内的标配的东西。


中生代技术记者:云平台(云计算技术)的成熟为现在的直播技术提供了怎样的技术支撑?

邵峰博士:直播热的兴起是互联网发展的趋势,由此而产生了视频云服务。但是直播这一块技术门槛是相对比较高的。如果是企业自己来做这一块,我觉得第一时间成本比较高,第二要很多技术人员。那其实我们就发现,有视频需求的用户直接做视频产品开发是不合适的。通过云的方式,视频云是非常恰当的选择。我们有大的平台,有很强的技术实力。当然我们也花了很多时间,来专门做一块东西,做好之后让大家共同来用,分享给大家,这不是挺好的吗?


中生代技术记者:2016年可以说是一个直播年,大家都觉得现在直播很热,您怎么看待这个问题?

邵峰博士:我觉得直播现在是一个风口。其实深究一下的话,其实是一个互联网发展的必然趋势。为什么这么说呢?我的感觉以前互联网是图文时代,现在慢慢向视频时代转变。视频时代转变的时候,我们社交的需求肯定是个强需求。那你说在视频时代,人们要用社交的话,肯定要用到直播这一块,所以风口这一块的话是必然会出现的,只是出现的早晚问题。我们会发现这个风口出现,我们早在去年下半年就已经预感到了,所以立项我们做网易视频云项目,主要做直播产品。所以到现在为止,就可以做出这样一款成功的产品来,提供给广大的用户。


中生代技术记者:网易云直播分发网络给用户带来什么样的体验?

邵峰博士:第一是延时比较低,第二肯定是产品的流畅稳定性。一方面延时比较低,如果说比较卡的话,那其实这个直播体验也是打问号的。所以说我们这个分发网络,除了低延时,低卡顿,稳定,而且分发区域也比较广,现在支持全国范围。最近像北美地区也可以支持,未来的话,可能明年的主要目标就是扩展到全球,比如说东南亚地区之类的。现在我们正在做国外到国内,国内到国外的整个解决方案。卡顿的问题,不同场景下要不同分析。但是我们最近分析下来的结果,一方面主要是主播端就是上行推流比较卡引起的,这个占了80%-90%,剩下的10%-20%是观众端比较卡。主要是这样一个比例。然后我们就进行了专门的优化。


中生代技术记者:我们听说过有网易云和网易视频云,这两个“云”有什么区别?

邵峰博士:网易云是网易公司的一个大的战略品牌是一个新的战略品牌,是一朵大云。网易云是网易公司下面的一个产品,是属于我们行业研究院主打的一个产品。网易云的框架更大。网易视频云是网易云下面的一朵小云。现在网易云有七朵小云,我们网易视频云是其中一个,还有我们云信、七鱼、蜂巢、易测、易盾、云捕,共同组成一朵儿大的网易云。技术架构中生代技术记者:您现在主要的工作是架构这一块,我在杭州的时候,团队也是架构组的,很想从您这边学习一下。一个架构师主要的工作的,比如说他的方法也好,他的工作内容也好,怎么样支持产品的演进的?架构在这里面怎么样起到一个核心的作用?以及架构师的工作方法是是什么?因为有的时候不是说我的架构好人家就接受,人家就买。邵峰博士:我一开始是做服务器端开发,也慢慢积累了一点经验。而现在基本上是以架构为主。我感觉架构的话,是对整个产品项目从技术上面的一个战略的把控,涉及到产品各个阶段技术的把控。比如说你在产品开发初期,产品策划,或者是用户给你一堆需求,你们大致对技术框架路线进行选择,然后大体的框架制定。比如说总体设计文档之类的,你自己要能出设计文档。当然比如说一些模块设计,可能由下面的人来进行设计,你需要进行评审。就是总的一些技术的把控,当然这是开始阶段的。比如说项目发展到中期,架构可能由于需求的变化,架构无法满足需求了,你要能对架构进行优化,要加很多功能。如果说一些系统出现了一些瓶颈点问题,线上经常出现卡死之类的问题,你要从架构师的角度,凭自己的经验、直觉,首先要能大致定位这个问题,当然有一些特别厉害的架构师,基本上凭自己的经验一下子就可以找到这个问题。这也是很多架构师需要考虑的问题,但是总的来说还是技术的把控,他是整个战略技术的掌舵者,如果说技术方向发生偏离了,要像船一样把航向扭转过来,是这样一种角色。有的时候产品经理也好、项目经理也好,考虑问题维度不一样的。技术上要确保不能偏离。


中生代技术记者: 您平时会不会带一些新的年轻的架构师?

邵峰博士:主要还是以开发团队为主,现在带了一个开发团队,直线汇报给我。项目上归我管,现在我是一边管项目开发,在项目开发过程当中,很多设计上、战略上的问题会管这一块。管理的时间相对来说现在慢慢多起来了。


中生代技术记者:有的人说的架构师不应该花很大精力在管理团队上。对于您的团队是怎么考虑这个问题的,是否会让技术专家去带团队呢,如果让技术专家做好管理?

邵峰博士:我们这个,其实网易是一个大公司,在一个项目当中有很多细分的职位。具体管进度的,我们还有项目管理。我是管具体开发技术团队,还有管架构的。当然我们还有特别专业化的架构师。比如说还有特别专业化的音视频的架构师。我们如果说一个方案出来之后,我们一般都是通过评审的方式来共同讨论,一同解决问题的。当然你一开始选择这个设计方案怎么出可能是一个人出。很多时候是好几个设计专家一起讨论的。关于带领团队成长,我们内部培养新人的话,每一个新员工进来有技术导师之类的,我们会观察每个技术开发者在成长过程当中,是走技术路线还是管理路线。当然他们基本上都是自我驱动着去学习。因为我们内部有大量的技术分享,我们平时在工作的时候,有一些设计方面之类的会慢慢培养起来。但是主要还是以他们自学为主,我们分享,教他们为辅,这样的一种方式。


中生代技术记者:平时您是怎么学习,可以推荐一些您读过的书。

邵峰博士:最近比较忙,以前在学校里面,比如说像我研究数据结构算法,看Donald Ervin Knuth的《计算机编程艺术》。我以前是搞数据库方向的,数据库这一块,我会看数据库权威的大牛的像Jim Gray 他的《事务处理概念与技术》,那本书我看了好几遍。但是现在的话,工作忙了,现在主要学习,书看的并不是特别多。主要是从谷歌上面专项的去研究某一块内容。我定几个方向。比如说最近人工智能比较火,然后好像各行各业底下也都慢慢的往那方面靠,我看的主要是人工智能、深度学习那一块。我最近在看坦瑟弗洛(音)跟海菲(音)那样的《人工智能的深度学习框架》学习各种东西。我觉得现在网上资料很多,不光是看书,现在看网上特定的资料为主。


中生代技术记者:现在技术的创新离不开团队的支持,咱们这个团队是怎么样的构成?

邵峰博士:我是主要做技术这一块的,所以技术的团队我比较清楚。技术团队主要是网易杭州研究院,也已经成立了十多年了,我们把原来的一些技术核心,很多技术专家给抽调过来,做网易视频云这一块。当然我们还有很多音视频专家,有的曾经供职过谷歌、思科等知名企业,有丰富的音视频开发经验、实战经验。这就是我们整个技术团队的构成。但是这个产品除了技术之外,还有很多其他的团队。比如说我们的产品策划团队,还有我们的运营团队,特别是技术支持这一块,To B的话,技术支持很重要。现在我们技术支持团队很专业的。还有我们的销售、商务市场团队,都是非常专业的。这么大一个专业团队,现在将近100多人,共同来为用户提供服务支持,就是说我们技术这一块比较厉害,但是我们服务也比较专业化。现在我们对每一个用户都提供一对一服务的。这个大家很奇怪,一对一服务有什么好处呢?其实我们每个用户有意向的话,我们建立一个单独的QQ群的,每一个用户一个单独的QQ群提供技术支持我们很多技术开发平时都要提供技术支持服务的。这样问题解决的途径更直接一些,可以更快让他们接入,他们在接入过程当中,或者说接入之后遇到什么问题,可以很快进行及时处理,这是很重要的。


中生代技术记者:聚焦这次大会,从您的角度来说,亮点是什么?

邵峰博士:通过参加本届TOP100summit峰会,可以见识到不一样的产品和技术洞见分享,我觉得非常好。同时通过TOP100,我们可以把产品实战经验和踩过的坑分享给大家,让大家互相学习,共同成长。同时也感谢本次大会让我们有这次学习的机会。从我的角度来看,来参会的互联网同仁可以吸收到很多实战经验和技术知识。在我们自己的实践当中可能也会用到,我觉得TOP100summit办得挺棒的。(全文完)

扩展阅读

硅谷高管谈十年践行总结出的技术工程文化6条"军规“

【TOP100访谈录】硅谷互联网公司的高管分享技术工程文化和团队领导力

广告背后的故事更精彩,不信?你看!


致谢电子工业出版社博文视点

中生代技术推荐系列图书

《响应式架构》通过Actor模型使用响应式消息传输模式,可编写出具有高性能、高响应性、高可伸缩性和高韧性的并发应用程序。本书由10章构成,详细介绍了使用Actor模型中响应式消息传输模式的理论和实用技巧。其中包括:Actor模型和响应式软件的主要概念、Scala语言的基础知识、Akka框架与Akka集群功能、Actor模型中的通道机制和技术、降低消息源与消息目的地之间耦合性的方式、持久化Actor对象和幂等接收者。附录A中还介绍了通过.NET平台和C#语言使用Actor模型的方式。 


《性能之巅》大型网络、云计算、大数据和虚拟计算机系统的快速部署已经为性能优化带来了新的挑战。本书为此提供了解决方案。国际知名的性能优化专家Brendan Gregg汇集了最先进的技术和工具来分析调优大型网络或云计算的环境。本书的内容包括现代化的性能分析和容量规划;与云计算相关的新性能和可靠性挑战;方法、概念、术语、工具和指标;负载与结构问题的权衡;调整操作系统、CPU、内存、文件系统、磁盘、网络和总线;调整虚拟系统;性能相关的编程语言问题,对C、 C++、 Java和node.js编写的应用程序分析。




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存