过去的两年里,人们对于CDN(内容分发网络)有了越来越深入的理解, CDN技术毫无疑问已成为互联网的必要的支持。随着大数据的爆发,在传统互联网,如视频、电商、网游等细分行业的拉动下,以及越来越多的传统行业纷纷布局互联网,中国专业CDN行业近年来呈现了迅猛增长的态势。因此51CTO特别对又拍云的CTO黄慧攀进行了本次访谈。
黄慧攀,又拍云CTO,aLiLua Web 开发框架的作者。2010年加入又拍网并开始又拍云存储相关技术研发工作。12年互联网从业经验,技术经验涵盖范围比较广,早期是前端 Web 开发为主(PHP/HTML/CSS/JS),后期逐步转到底层研发方向(Linux/C/Lua)。目前带领一个团队负责 CDN 系统和底层分布式存储系统研发工作。
黄慧攀刚刚加入又拍时,主要负责是CDN系统,配合原有的储存系统组合一个产品出来,变成一个U盘云储存,截至目前主要负责管理整个又拍云的产品部门。又拍云有三块产品,一块是CBI,一块是云储存,还有一块是云处理,三条线目前都是黄慧攀负责。在今后又拍云会以CDN作为主打,然后是云储存和云处理。CDN很重视硬件投入与硬件资源的积累的过程,又拍云已经积累了多年才达到今天的成绩。
创业型企业需求的供应
创业的团队,一般来说需求的事一个打包产品,其中包括CDN储存和处理。因为创业团队的整个产品基本都是从零开始,这种情况下运用打包产品会有明显加速效果,有很多东西不需要开发,比如说图片缩略图、音频压缩、视频处理等开发过程,储存问题也不需要考虑,***是网络加速,套上又拍云的CDN,已经是一套完整的解决方案。
储存这一块有一些海量小文件,很多人都在思考解决这个问题。海量小文件的性能很差,差是差在IO问题,但问题的关键是你如何去请求这些文件,如何去访问,如果是直接从数据中心对外提供访问的话,变化会非常大,此时储存集群是吃不消的,除非把那些杀死磁盘或者杀卡磁盘这种换成SSD的昂贵方案,才能去解决这个小文件的IO问题。另外一个方式就是建一个CDN的网络,CDN的网络相当于什么?又拍云现在有一百多个节点,每个节点有二三十个服务器,那相当于有几百台、上千台服务器去扛这些IO,并且这些并发不会达到把磁盘冲出一个瓶颈。但是如果把这些请求全都落到数据中心,也很难承担。目前业界上也没有人把储存直接对外提供访问服务,因为这样会有IO问题,要用CDN,其实它就相当于起到一个缓存加速的作用。又拍云在15年的计划里将会在国外搭建十到二十个CDN,又拍云的CDN网络将会是国内数一数二的覆盖率。
CDN系统技术特点
技术方面,黄慧攀谈到,又拍云的CDN系统,主要是用C语言和Lua语言来写。研发团队核心组有十个人,十个人里面80%是做CDN的,而又拍的云储存是(13:56)写的,云储存团队有五六个人,然后还有一个是云处理这一条线,也是五六个人,主要是用到Python和C语言。Lua语言很多人不了解,它在脚本语言里面是最快的,没有任何一个脚本语言能够跟它媲美。又拍云09年开始研究Lua是否适合,调研了一年多,到了11年才开始真正把Lua放到又拍云的业务系统上。又拍云具备一定的技术实力,并且敢于创新,所提供的服务还有产品功能都是***个提出来的,所以内部使用的技术也基本上都是***个尝鲜者。
CDN为什么都选用这些分布式计算的服务框架呢?原因很简单,开发的工作量很小,开发周期很短,很快就可以做出满足业务需要的功能。
又拍云做的CDN跟传统的做法有点区别,现在是真正的围绕云这一概念在做CDN,具体到某一台节点的服务器,其实只是整个CDN网络里面的一颗沙粒,一个很小的单元,并且可以随时摘除掉,
不会影响到整个CDN网络。传统的方式做CDN的话,会按照客户去划分节点,但是在又拍云新一代的CDN系统上没有这种概念,所有的客户都可以访问同一台服务器,都能够做缓存加速,又拍云会分配上千个服务器给这些客户同时使用,比如说A客户来,一千个服务器你都能用,B客户来你也是这一千个,随便在一千个里面荡掉一百个,都不会对服务造成任何影响,对任何一个客户也不会有影响。
在系统架构方面主要分为三层。一个是边缘加速节点,一个是中转节点,一个是数据中心。又拍云对加速这一块的CDN做了大量的优化,重点是在中转节点上,中转可以避免很多回源的过程中导致的源站的压力过大的问题。因为在边缘节点太多,又拍云现在是100个,接下来是200个节点,那这200个节点如果要回源的话,如果单独回源那就是200次回源,但是又拍云会有一个中转的议程,中转有十个节点,这200个回到这十个,然后再从这十个回到源,那就相当于从200变成了只有十次回源。中转层的技术特点,***个是多线路,第二个是数据,就相当于一个次级的数据中心,它的储存容量非常大,已经是PP级别,缓存是PP级别,数据中心实际上现在是二三十个PP,它就缓存掉一个PP在外面。然后又拍云有十个这样的中转节点,相当于它缓存了二三十个PP,100%把数据中心的数据都缓存在外面。关于缓存分发,要看是怎样的操作方式,又拍云是使用云的方式,只有一套系统面对所有,它产生出来的那个数量级固定,如果说A客户即使是一个大网站,有可能也就几百个TB,不可能达到PP级别的。
在CDN系统做数据迁移基本上是零成本,只要做一个很简单的域名解析就可以迁到UP CDN上。至于是云储存,有一些难度,迁移的周期会很长,因为都是通过公网把文件拷贝到又拍云的云储存,这个迁移周期依据数据量而变,有可能是一个月也有可能是一年,又拍云也配套推出了一种镜像服务,自动将对方的数据存起来,以便在迁移的过程中不影响对方的服务业务,还有另外一种就是直接一点了,我们现在有很多客户他是这样,因为他之前没有用云储存的,他用的是自己的服务器,内容都在硬盘上,他直接把硬盘给我们,我们就到机房把这个硬盘插进去,我们会有一个导入到云储存的这样一个过程,因为我们是在内网,那个带宽非常充足,所以它的速度是很快的,通过如果你是一两个TP,那它就两天倒完。
可能在前几年刚开始建CDN系统的时候可能会有很多难点,通过几年发展,又拍云在技术上的难点基本上都已攻克,现在正处在一个铺量的阶段。当系统已经成熟稳定,当前的重点是正在进行的广铺节点工作,然后把CDN网络做的更完善。CDN本来就注重于数据分发,不需要同步。但是关联到数据中心,它就牵扯到同步,比如机房类的同步,而机房类的同步很容易解决,难点是在于跨地区的同步,因为跨地区网络的稳定性、速度,跟内网的差别太大。又拍云主要做的是有专门的一个同步系统,这个同步系统可以按照实际情况去调度带宽。在白天是业务繁忙期,又拍云只会用到20%的带宽去做同步,但是到了晚上带宽是空闲的,就会以80%的带宽去做同步。这个问题其实技术难度不大,主要就是带宽,看拉的线路好不好,又拍云现在的数据中心基本上都有自己的租用的直连光群。因此,又拍云在硬件方面的资金投入力度非常大,尤其是13年、14年的节点翻了一倍,至15年目标是翻两倍。目前主要还是靠一些硬件,加大硬件的覆盖率,因为对于又拍云现在的网络、CDN服务来说,冗余度只有20—30%,接下去要继续拓展CDN市场的话,必须要把这些带宽冗余量提高。
创新计费方式
又拍云的计费方式统一标准,按照实使用量收取,而不是购买一个固定的量,然后每个月收钱。这样就不会造成浪费的情况,又拍云也是***家CDN服务商提出这样一个概念,即按流量收费,不像传统的方式按带宽收费,比如你购买了一个100兆带宽,按贷款来收费,有可能哪天你不做活动了,需要带宽才2兆,又被收了100兆的费用。大家公平一点,按流量来收费,其实也有本身的业务很稳定的客户会要求按带宽计费。
国内CDN市场潜力巨大、竞争激烈
在国内市场上,专业CDN服务提供商通过融资、并购提高自己的竞争力,为日趋激烈的竞争市场做准备。CDN市场将很快迎来新的发展局面,现有CDN服务商并不存在绝对竞争优势。虽然技术门槛相对较高,由于人才、技术储备、资金实力以及市场经验相对国外领先企业还有一定的差距,国内CDN企业想要在竞争中获胜需要投入更多的精力和做好各方面的准备。
黄慧攀强调,又拍云是以CDN作为主打产品的公司,并非是云储存公司。又拍云从技术方面和从决定层面都是很富有创新力度的,不会一直拘泥于延续传统的方法。同时他透露,到15年底,又拍云会有比较大的动作,这将会是一个互联网领域内比较大的颠覆性的动作,跟传统的认知里面会有一定区别。