【IT168技术】提起优酷,喜欢看网上视频的人大概没有不知道的。创办于2006年的优酷,因着 “快者为王”的产品理念,以 “快速播放,快速发布,快速搜索”的特性,满足了互联网用户日益增长的多元化互动需求,从而成为国内视频网站中的领军企业。
支持优酷实现快速、优质用户体验的,是优酷背后强大的数据中心和IT技术能力。据优酷CTO姚键介绍,优酷每年的数据增长率大概都在50%。为了应对不断增长的巨大流量带来挑战,2010年,优酷对位于北京的主数据中心进行了改造。
简化的二层网络
姚键表示, 由于优酷提供的视频业务对网络设备提出了时延小、可大规模扩展的要求,因此对网络交换设备的选型十分重要。考虑到主数据中心的战略地位,网络规划设计需要在满足业务高质量承载与关键技术指标要求的同时,还要具备可扩展的性能和功能,以满足未来业务高速发展的需求。
在本次改造项目中,优酷主数据中心交换机选型包括了内网OA和外网两个部分。其中OA内网存在内部数据同步等需求,对设备的端口数量和服务质量要求较高。在当前阶段,网络需要能够支持100个机柜,在长期发展之后,将达到300个机柜的要求。对外的外网则以互联为主,需要一个高性能/低成本的解决方案,以进一步提高其系统的接口密度以及系统的冗余度。
为此,优酷在核心网选择了瞻博网络的EX 8216核心交换机,将网络从三层简化到二层。每台8216交换机可提供100个万兆端口与接入层交换机进行互联,加上两台核心交换机之间互联的8个万兆接口,总共提供了108个万兆接口。同时,该交换机最大还能够提供144个线速万兆接口,768个千兆接口,以充分满足当前的网络交换需求。并且,通过使用虚拟机箱(Virtual Chassis)技术,还提高了运维管理的效率和简便性。
在外网中,优酷选择了瞻博网络的EX4200 交换机,并使用了虚拟机箱技术,为接入交换机EX2200提供了第二层的汇聚,从而提高了该系统的接口密度以及系统的冗余度,使该解决方案凸现出高性能、低成本的特性。
姚键表示,目前的网络架构能够满足优酷未来两到三年的发展。当问及网络设备的选型原则,姚键说:“我们不选最贵的,也不选最便宜的,而是选择性价比最优的。因为作为技术部门,省了钱固然是好事,但如果没办成事那更惨。”
CDN技术的威力
对于互联网企业来说,良好的用户体验是成功的关键因素。“用户体验对于视频公司的发展影响非常大,做互联网很忌讳用户体验不好。体验不好最大的损失不是损失了多少钱,而是损失了用户对你的信心。因为,一个用户在某个网站上看了一个视频的第一集,还会继续在这看第二集,也许过很长时间才会有新的尝试。也就是说 ,你赶走用户是非常快的,但把他吸引回来是很困难的。”
要保持良好的用户体验,出色的CDN技术支持必不可少,而优酷的CDN都是自己在做。“负载均衡是我们比较核心的技术,我们整个调度的算法和负载均衡措施都是自己研发的。”姚键对优酷的自主技术能力非常自豪。
事实上,他的自豪有着充分的理由。 因为CDN技术的优劣一头决定着用户体验,另一头决定着公司的支出成本。“视频公司购买的带宽是最贵的资源——比服务器还贵。但是数据的分布会迁移,使你又不得不依赖于带宽。因此,买了1G带宽后,怎么把它利用到极致,是节省成本的一个关键。”姚键讲述了优酷在利用带宽方面的经验:首先要保证绝大部分带宽应用到服务用户上,然后要保证服务器之间的通信和数据的迁移能够顺畅进行。“很多网络流量是浪费在服务器之间的数据迁移上,或者从核心机房去下载这些数据,以及类似的应用上。此时,用于流量预测的调度策略算法作用非常关键,因为预测错了会导致你多拷贝数据,而每份拷贝实际上都浪费了你的带宽。”
除了技术,流量预测当然还与经验有关。“比如说北京下雨地铁被淹了,大家都去访问地铁淹水的视频。优酷发现后,就会把这个视频多拷贝几份放在北京的分站点上,却没有必要把它放在类似江苏、浙江的分站点是,因为那里的用户可能根本不关心此事。”姚键举了了个简单的例子来说明问题。他表示,优酷有专门的统计软件,应用多年积累的复杂规则来跟踪热点视频,因此能做到在及时布点的同时最大限度地节约带宽。
不用“酷”技术
虚拟化、网络优化、刀片服务器、磁盘阵列、存储区域网(SAN)等时髦技术通常在大的数据中心都会有所应用,但姚键直截了当地告诉记者,这些技术优酷都没有用。作为对价格非常敏感的互联网企业,优酷选择技术和产品的原则就是实用有效。
“对我们来讲,主要是专注在视频业务上。目前我们的流量增长非常快速,所以基本上还不存在哪个业务非常闲,或者几个业务在一两台服务器上就能跑的现象。因此,虚拟化的意义对我们来说就不是那么大,因为虚拟化本身就要消耗一定资源,还需要管理成本。”姚键显示出他精打细算的一面。
姚键坦承,优酷也没有用专门的广域网优化技术。“我们不是去优化网络,而是适应网络,比如对于上海的用户来说,哪个节点的性价比比较高,我们可以做优选,在运营中还可以去调度;比如这个机房出现故障,我们能把流量切到另外一个地方去。通过正确地判断每一个IP的来源,把它分配到合适的服务器上,保证我们每一个服务器的忙闲程度基本一致,优酷保证了用户较好的一致体验。”
出于同样的理由,优酷也没有应用刀片服务器和磁盘阵列。“刀片服务器对我们来讲意义不大,它的CPU密度很大,适用于计算密集型的应用。我们主要是I/O密集型,需要的硬盘多,而刀片服务器放硬盘的话放不了多少。” 姚键透露,优酷主数据中心应用的2000台服务器都是x86服务器。
对于存储,优酷则用的是JBOD(磁盘簇)。“我们买最便宜的盘柜,服务器上的硬盘基本是单独管理,这样浪费最少。硬盘其实就是为了保证数据安全,但我们是通过自己的备份体系架构来保障数据安全。这样的话,一块硬盘坏了直接避开它就行了。”姚键对此成竹在胸。