2015 年 11 月 28 日,架构与运维的年度大趴——又拍云架构与运维大会·北京站圆满落幕了。近 1500 名来自全国各地的 IT 小伙伴们让现场热火朝天,而 23 位享誉互联网技术业界的大神们的登场,又拍云 CTO 黄慧攀在会上作了题为《云 CDN 的技术架构演进之路》,以下是分享实录:
传统的 CDN 从 2000 年诞生起,一直到 2010 年都还停留在一个阶段,技术并没有得到很大的提升,有的还是 Squid ,一般在全国有 30 – 40 个节点。因为在早几年移动还没发展起来,电信和联通节点基本上能覆盖全国的用户,60 个节点基本就做到全国覆盖了。后来从 2010 年起移动网络开始建设起来,有了一定的客户,这个网络也有了加速的需求。
又拍云当时没有办法满足这个需求,因为我们自己构建云 CDN 的系统。可能大家对又拍云有一定的了解。又拍云主打的服务是云 CDN ,这套系统在 2010 年开始研发,一直到 2015 年,总共经历四个迭代的周期。
2010 年,又拍云 CDN 的架构搭建
2010年,当时我们的节点数量不是很多,大约三四十个,刚刚开始起步。当时的边缘节点用 LVS 去做负载均衡,下面每一个节点会布 5 到 10 台服务器,这个服务器里面主要装的应用系统有 ATS 和 Nginx 。
做系统无法回避两个功能,流量统计和加速规则的配送、配置等。我们那时候对 Nginx做了大量开发,比如用 C Modules 做插入。当时我们使用三层架构,从大的架构来看,边缘有 40 个节点左右。中转节点大概有四个,如果有更优的路线,它可以快速的去拉取内容。
我们的中转机房都是多切入,有一个新疆的电信用户要访问浙江的电信数据中心,到底哪条路是最快的?从新疆直接过来,还是新疆先到北京再到浙江更快一点呢?中转节点有一个好处就是可以合并, 40 多个节点没必要每个边缘节点都回到源区,这会导致源站的带宽卡顿,也会使得节点规模越来越大,对源站的要求更加高。而有了中转节点,就可以把这层的压力大大的缩减。
第三层是杭州的数据中心,数据中心里面有 LVS 和 ATS ,过了 ATS 再往下才到我们的云存储。总体的大架构到现在也没变,只不过是每一层里面的系统都变了。
2013 年,又拍云的系统调整
又拍云所有用户配置规则集中在数据中心里面,通过 LVS 把规则推送到所有的边缘节点, LVS 上面去索取每一个域名的访问规则,不会跟数据中心做交互,直接到节点里面去获取数据就行了。
2013 年最主要的工作,是将第一代的系统完全改写,也幸亏这件事情做的比较早,不然到了今天接入大量的大客户就会束手束脚。因为大客户有大量的定制需求,如果用 C Modules 满足他们的需求,得安排专人,还得耗费一个月的时间去开发、调试等等,会很麻烦。
现在,我们的开发周期为一周,这一周里还包括测试。我们系统得到了部署,也因此变得非常的简单、灵活。我们可以做到每周发一版本,又拍云的 CDN 每周都在迭代,每个星期全网跑的业务都在升级。
到了 2013 年,我们的 CDN 节点从原来的 40 个变成了 60 个。中转节点也增加到了 8 个,我们的数据中心从 1 个增加到了 2 个。
2014 年,又拍云的业务拓展
2014 年又拍云在原来的基础上得到了很大的增强。主要增强的是我们的中转节点。
中转节点在第一、第二代面向客户时,都包含我们的云存储。但是到了 2014 年,我们开始考虑单独向外提供云 CDN 服务,这个势必会牵扯到直接连接特殊的源站,当时的系统架构无法满足。所以我们对于中转层做了一定的改造,如多加 Nginx 等。中间的部分,对比 2013 年是 LVS ,下来是 Nginx ,再下来是 ATS , ATS 直接连到数据中心这种结构发生了变化:多了一层 Nginx 的逻辑控制。这个域名对应的是又拍云的数据中心或是客户的源站。
这里还是有很多功能,不会做的这么粗糙。多源站、多 IP ,支持热备,支持负载,支持多个线路的优化,对我们不同的边缘里面到底是什么线路;客户源站是不是有电信、联通、移动分别都有,甚至还可以配置海外的源站,这项功能会在 12 月份上线,我们底层有应用。又拍云针对源站网络的情况做特殊的路由,用户只要选好就可以了。
2014 年也是又拍云的云 CDN 在基础规模上爆发的重要一年, 2014 年我们的边缘节点达到了 130 个,中转节点达到了16 个,数据中心没有扩张,还是两个。130 多个边缘节点所能提供的带宽冗余是一个 T,我们物理服务器所能提供的网络处理能够达到 1 T 。
2015 年及未来, 又拍云将大踏步前行
现状:国际化推进
到了今年, 又拍云的云 CDN 的系统研发基本成熟,我们更多做的是一些大客户定制化的需求开发以及对接。
另外还有一条路,是我们运维部门做得最多的,也是今年的重要里程碑: 2015 年, 又拍云正式开始对国际加速做铺设,第一站打通了从香港到浙江的光纤链路。如果你是又拍云总部的同事,你可以在公司网络或者自己的电脑上铺上公司的 VPN ,高清观看一个 404 网站的视频。4K 的视频可以流畅到达浙江的网络里面。我们所有的 E-Mail 都是谷歌系统。
此外刚才提到过,又拍云支持客户配置在海外的源站。如果客户源站在海外,怎么做加速呢?如果还要过一道墙,这个内容拉不过来的。刚才也说过,我们在 11 月才搞了两场香港演唱会在大陆的全网直播。这个光纤能够做到延时仅 30 多毫秒,就可以把这些内容拉到浙江。
有了香港这么大的光纤之后,我们要接力欧美的核心节点。一个是在美国的洛杉矶那里,一个是在法国那边。这两个节点之间也有光缆:连到美国是海缆,连到法国是路缆。三个骨干节点形成又拍云云 CDN 未来国际加速的骨干网络。 2016 年我们会在骨干的基础上做一个新型发散的铺点。边缘节点服务我们的骨干,进行开放式的铺设。比如我们现在有亚太地区、台湾节点,还有新加坡节点,它们都是依赖于香港的骨干节点。在美国,我们也铺设了三个节点,这些边缘节点会通过骨干的光纤链路再回到我们大的平台里。
欧洲的客户需求要少一点,因此我们优先做好美国,欧洲节点 2016 年初会启动。到现在我们已经拥有七个国际的加速节点,三个主要的骨干节点。
未来:第二次爆发
2016 年,我们将会有自己的 DNS 调度系统。可以看到,架构有赖于 DNS 给我们做智能地区调度。这无法满足又拍云的需求,因为我们接下来会有一个二次铺点的计划。也就是说我们在一个省份,一个线路里面会有多个机房提供服务。但这种情况下我们没办法做到高效率的负载均衡。因此才会有又拍云 DNS 的系统。
另外就是直播加速。从安全这方面来说,DDoS/CC/WAF 防护上都会做更大的技术、资源投入。比如 DDoS 防护,如果是一般大小攻击的话,我可以默默帮你扛下来。但如果它达到了一定大的规模,我们就会马上有销售人员与客户沟通,从而做到 10 到 20 分钟里排查出具体原因、受到多少的攻击,并判定该攻击是否需要持续去保障这个服务,或者可以忽略,暂时选择终止服务。我们会与客户做好需求的沟通工作。
2016年,我们会更多地聚焦在视频加速和直播加速方面。这两方面的技术储备我们已经有一年多了:从 2014 年底开始,我们就在做这方面的技术储备。比如我们的视频加速目前已经接入不少的 OTC 厂商。用户家里的电视机如果是联想的话,它走的 CDN 就有用 又拍云去做加速。另外还有一些电视的盒子,也是基于又拍云的 CDN 去做内容分发。另外,又拍云明年还会在直播方面做大的拓展,因为我们的网络已经具备了这个能力。
最后一点,是又拍云的移动应用加速。大家只要使用移动 SDK 去做网络请求,你的网络性能就起码能够得到 20 % 到 30 % 的提升。而且不需要使用又拍云的服务就可以做到,直接连接自己的服务器都即可,因为它是一个 HTTP 协议优化。
随着技术的完善和布局的扩张,又拍云的 云 CDN 会为用户提供更优质多元的服务,以满足不同类型互联网企业的需求,鼎力相助创业。