2.
孙雨润: 我叫孙雨润,毕业于中国科学技术大学计算机专业,毕业之后我直接到当时还是创业公司的YY做音视频传输工作。后来YY上市之后,我自己身体在广州不太舒服,后来就来到上海,曾经在这边的微软和QQ工作过。2014年初跟我们现在的老大一起去美国硅谷成立了现在这家公司就是声网Agora,主要的想法是把之前在YY积累的经验拿出来,想做一个全球范围内能够帮助大家很快地实现音视频通话,解决我们过去那些年踩的坑,能够帮助大家实现这样的服务。
3. 你在声网的主要工作是什么呢?
孙雨润: 我2014年初加入声网,当时我们在硅谷那边做了为期小半年的封闭式开发。当时的第一个目标是把这套系统搭起来,因为这也是我们没有遇到过的挑战,我们一开始都是做国内的。当我们第一次提出来想要做全球范围内这样一个系统的时候,我们还有很多事情要摸索,所以第一步就是把这个系统搭起来,后来系统稳定下来以后,我们第二个就是各个击破去优化各个不同区域,以及像我演讲中提到运营商之间、用户差的设备这些质量问题。第三块我所从事的工作是保证系统的稳定,从最原始,大家常用的进程监控的角度、从性能监控角度、可用性监控、质量监控。我们比较创新的把这些东西集成到一个监控系统里面,能够保证我们的系统非常完美的工作下来,这是我们前一阶段为期两年的时间开发的工作。现在我们的系统基本上全球范围内都可以实现非常完美的音视频通话。接下来我们的任务主要是解决一些非常极端的案例,比如说有的用户手机很差,跑我们的视频跑不起来,我们怎么针对这种情况做一些定制化传输的优化。
孙雨润: 这个还是有些区别的,第一个是Web架构从它诞生到现在有非常多的开源项目可以用,有一些轮子你不需要重复的造,比如说存储有mysql、redis,mongodb,可以满足方方面面的需求。但是音视频传输这块现在还没有这样一个生态链,这些东西全都要我们自己造轮子。第二个方面从架构设计上,Web架构它允许有中心节点这种方案。比如说我给你分配一个资源这样的方案。我们做全球的音视频部署,因为没有CDN帮助你加速,你不可能部署一个中心节点,让全球的各个用户全来访问这个节点。必须尽可能的使用对等部署来优化这个问题。第三个最明显的区别,Web它可以允许延迟,比如说我访问一个网站,可能一秒、两秒、三秒,甚至像我们昨天在盘古那边吃饭跟大家聊,可能某一家比较大的电商公司,它的首页加载速度在5秒、6秒他们都可以接受。但是音视频如果从你访问到收到音视频流,在400毫秒以上用户就感觉明显的延时。
总结起来是三点,第一我们并没有重复的轮子可以用,很多东西需要自己开发。第二在部署方式上要避免由于全球化部署带来的访问的问题。第三是延时访问速度上,数据的传输速度需要明显保证在400毫秒以内。
孙雨润: 人数在线当你的架构设计的很合理的时候,这个东西是可以水平扩展的,随着你的带宽与服务器资源水平扩展。我们当时在YY做过150万同时在线,按照我们现在的部署,因为我们毕竟刚成立两年,带宽没有准备那么多,我们是可以10万用户同时在线,随着用户量和业务起来以后,我们可以非常快速的,无论是国内或者是国外都可以平行的水平扩展,只要加机房、加带宽、加机器就可以支持,理论上是没有上限的量级。
6. 您刚才说的这个我理解是总的在线人数吗?
孙雨润: 对,就是一个频道内的在线人数,一个老师讲,我们曾经做过150万观众可以看这个视频。
7. 在传输这块它有什么挑战吗?
孙雨润: 挑战如果是单纯从我支持多少量这个角度,那最重要的是负载均衡。我们的负载均衡分为两块,一块是我们接入用户时候的负载均衡。比如说我是吉林联通的用户,这边还有辽宁联通的用户,他们要接入哪个机房,如果现在表演的是东北的文化,那可能北方的用户比较多,北方的机房如果不够怎么把它balance到其他的机房。第二个是我们在传输的路由时会有一个负载均衡的问题,我在演讲中也曾经提到,比如说我们需要保证两点之间传输是非常可靠、专线的质量,那就需要经过我们中间的路由,这个路由因为它是实时的,有一些随机性,就会导致有一些路由节点的负载明显增高,这时候路由也需要做负载均衡。所以人数上来了一个比较大的挑战就是两个地方的负载均衡,第一方面是接入用户,第二方面是机房之间传输的路由选择。
孙雨润: 带宽成本最重要的是你看最贵的部分在哪里,我们有一个二八原则,可能最贵的20%的地方占到了80%的钱,为什么这么说呢?有的机房很贵,有的带宽很便宜。很多时候当我们技术解决不了的时候,大家倾向于使用比较贵的成本。比如说我在国内放一个机房和香港之间有专线,这种成本非常高。比如用BGP机房,一个IP可以接受其他很多运营商的IP,他们都使用BGP都有兼容性不丢包的策略,这个也是成本非常高的选择。我们的目标是怎么降低成本,就是干掉这些东西,我们出国不需要做专线,中国南北和北部不需要专线,跨运营商也不需要用BGP机房,我们是用技术手段动态调整路由,这样的话能最大限度降低成本。当你发现你最贵的这部分,量非常少的时候,成本自然而然就降下来了,很便宜的那部分机房,随着用户线性增长,你会发现事情是可控的。
9. 对于长途以及跨州的通信如何降低它们的延迟呢?
孙雨润: 这个也是我演讲的时候在场的观众比较感兴趣的地方。首先我要解释一个问题,大家对延时的理解有些偏差,实际上延时是由物理链路的延时和抖动共同造成的,大家印象中的延时都是物理链路的延时。中国到美国之间这么长,上海到杭州这么短,比如说上海到杭州的距离是上海到美国的1/10,是不是延时也是1/10呢?实际上并不是,构成音视频延时的是两块,一个是传输延时,一个是网络抖动,后者才是最主要的部分。我们看到绝大部分的延时都是抖动产生的,物理链路的延时占整个感觉到的延时很小的一部分。这就是为什么跨国传输听起来并没有比国内传输延时大很多,因为我们有效的控制了抖动,对抖动做了非常智能的缓冲。另一方面,实际上跨国之间的链路延时并没有想象那么高,从上海到洛杉矶的单向延时是100毫秒,到最东海岸的迈阿密大概是130毫秒,这个延时是远低于ito的400毫秒的标准的。
InfoQ: 感谢您今天接受采访,我们今天的采访就到这里。