[导读]
也许没有多少人记得2004年发生的事情。但对于老腾讯来说,10年前的那个日子,2004年6月16日永远难以忘怀。这一天,QQ诞生5年后的腾讯在中国香港联交所主板上市,由此拉开了腾讯快速成长的序幕。
这10年间,腾讯的网络基础架构也伴随着各种业务的发展而发展,变迁而变迁。早年间网络经历的一切,不管是窘迫、重压,还是喜悦都渐渐消失在人们的记忆中,只能在泛黄的老照片,老员工零碎的讲述中寻觅。。。
[2004-2006,稚嫩中开始成长]
2004年的腾讯所有服务器都在深圳赛格、枢纽、东门这些运营商IDC机房中,很多服务器的联系人当时还是腾讯现CTO张志东(腾讯人都亲切的称其为Tony)。全部腾讯网络,等于1张A4纸拓扑+1本技术书,只是2M DDN将几个机房互联而已。这一年,QQ发生了一起无头公案,是历史上仅有的几次QQ大面积服务中断达12个小时的故障之一,整个公司震动,业务和网络也由此拉开了运营的序幕。这一年,网络也经历了更多的五花八门的故障,有运营商IDC骨干设备故障、升级失败、专线中断,也有机架掉电、机房掉电、空调只出热风,还有某商业负载均衡设备掉电后2个小时没有起来。但也是这一年,IDC出口的流量达到10G。
2005年和2006年是忙乱的年代。互联网公司的核心业务纷纷从无线SP转型为增值业务,而游戏是其中的重点。那个年代,游戏是联众、盛大、网易、九城、完美时空的天下,腾讯也从QQ游戏、凯旋、QQ堂、QQ幻想、QQ音速开始切入,开始加入IDC资源抢夺的战团。这两年间,腾讯的网络和业务如雨后春笋般发展。腾讯的服务器达到万台,IDC扩展到10多个城市甚至还建设到了美国,开始有了IDC网络和办公网络分离并且使用了10G,IDC有了内网、外网和管理网还有安全监管区,跨省专线从0变成几十条,开始使用V**备份专线,运营上也开始有了IDC网络演习。值得一提的是,这个时期出现了运营历史上第一次大红头文件,甚至连Tony都受过处罚。
[2007-2009,躁动中血染的日子]
这段岁月,大家印象最深刻的就数开心农场了。此前游戏业务不温不火,网络最大的挑战主要是大区的游戏分布导致集中数据库对专线可用性和带宽的强依赖,而农场的突然火爆把当时的小伙伴们打了个措手不及。
从09年3月开始的半年时间里,农场如现在的手游一样突然蹿红,注册用户数量过亿,同时在线人数超过千万,业务集群规模达2000台;公网出口的中央带宽从几百兆猛增到几G,CDN带宽则从几G飙升到几十G。
当时腾讯在深圳已经有了很多机房,农场和其它很多业务类似也散布在多个机房中,而连接深圳所有机房的杂乱无章的城域网在农场的冲击面前无比脆弱,总体带宽容量和冗余能力的不足导致城域网频频崩溃,大家每天神经绷的紧紧的,有什么意外就马上根据经验调整路由参数调流量。这是老腾讯们少有的几次刻骨铭心感受到海量业务挑战中的一次。
为了解决城域网的问题,据老腾讯回忆,至少用了150个凌晨变更,甚至有人因此工伤,有人因此离职。最终将城域网改造为部分网状互联且具备自愈能力、具有50%冗余的架构,紧接着又开始在4个城域网核心节点间建设了DWDM环解决光纤不足的问题,城域网这才安分下来。
这个时期业务提出了SET化的理念,即把承接一定数量用户的接入、逻辑和存储服务器打包部署建设,IDC网络架构也随之演进出V3.0的架构,可以为每500台服务器提供一个高性能SET区域,当时的一个机房最多可以有10多个这样的SET。SET化后,业务系统各层级之间的流量可以内部消化,也大大减轻了城域网和IDC网络的压力。
同时,IDC网络还陆续引入了负载均衡LVS区域、防DDOS攻击安全区域,更好的支持了业务的接入和安全防护。
[2010-2013,逐步走向成熟]
2010年无疑是QQ的天下。这一年QQ同时在线人数突破1亿,QQ空间广受欢迎,QQ空间的游戏异常火爆,如胡莱三国上线一个月注册用户就超过千万,2个月后的活跃度仍然保持在20%,与同期facebook的顶级游戏水准相当。业务的繁荣之下,服务器数量开始激增,而深圳已经无法供应足够的机房了,业务开始被迫走出深圳走向全国。
经历几年的努力后的2010年,腾讯历史上第一个大规模自建数据中心——天津数据备份中心也落成,其设计容量达数十万台而成为当时亚洲最大的数据中心。天津自建数据中心不仅让腾讯积累了丰富的从风火水电到机架到网络的大规模基础架构规划、建设和运营经验,尝试了多项新技术,而且还让腾讯网络在全国布局中非常重要的华北板块得到夯实,让业务走出深圳更有信心。
2010年对于腾讯数据中心网络来说是一个划时代的时刻,IDC网络架构升级成V3.5版本,不仅解决之前IDC二层网络稳定性差问题,而且将高性能SET区域的范围扩大到5000台,为之前的10倍,资源的调度和业务的部署更加高效。直到今天,现网中的V3.5及后续的优化版本仍然是支持各项业务发展的主力架构之一。
2010年发生的3Q大战震动业界,由此腾讯更加坚定加快脚步走向了开放之路。开放在腾讯内部给网络也带来了新的挑战,那就是基于虚拟化的开放平台业务所需的虚拟化数据中心网络支持。2011年,5000台一个高性能SET、完全扁平大二层的一个V3.5虚拟化子版本应运而生,开始支持基于QQ空间的开放平台,随后是游戏和内部云平台。然而由于没有意识到服务器内部虚拟网络管控的重要性,加之设备Bug、内核应用模块Bug,虚拟化网络发生了几次大故障,最长的一次故障排查达数小时导致业务严重受损。这促使大家一边加强虚拟网络监控并且增强大二层的健壮性,一边思考是否有更好的从根本上解决二层网络缺陷的架构设计。2011年流行的802.1Qbg、Qbh,还有Trill/SPB之争,终究是无声无息的过去了。2013年则开始研发基于Overlay的SDN虚拟化网络方案。
2011年腾讯网络还有一件重要的事情就是开始打造一张MPLS V**/TE的数据中心互联DCI广域网,以解决专线利用率低、多业务承载、灵活流量调度等问题。在历时一年半的艰苦割接和建设后在2012年终于全网完成升级,不仅专线利用率大幅度提升,在这张DCI网络中实现了面向业务的端到端差异化QoS服务和带宽配额准实时管理,还可以将原来故障时流量调度时间从1个小时人工处理缩短到5分钟系统自动处理。而在这张网络中,也逐步实践了SDN的理念,成为全网最先落地SDN的部分。这张数百G专线带宽并持续高速增长的DCI网络,成为支撑腾讯数千种业务产品实时和非实时内部通信、全球业务分布的关键平台。在写下此文的时候,世界杯比赛正酣,而小伙伴们正在试图不影响世界杯相关业务的前提下更换升级骨干节点的整台设备,变更时间长达数小时,又一次实践“万米高空飞行的航班更换引擎”,再次验证这张智能的DCI网的给力和小伙伴们的专业。
2012年和2013年微信的迅猛发展,特别是在海外的扩张,给网络带来巨大的压力。海外运营商的游戏规则和环境与国内几大完全不同,微信全球用户覆盖的质量如何调优着实不是那么容易的一件事情。经过坚持不懈的努力,我们为微信等海外业务建立了全球覆盖模型并实践了多种分布加速解决方案。
这几年,时光同样见证了100G光传输与运营商的同期部署,高性能SET区域超过20000台服务器的IDC网络新架构等等。而公网传输设备等自研网络设备的批量上线,则让网络面对业务越来越多个性化服务需求时底气更加充足。
[2014,新梦想启航的时刻]
每一年,当网络解决一个又一个问题后,新的挑战总是不期而至。
进入2014年,公服务的特殊要求、此起彼伏的城域网热点让刚刚有点从容的网络再度面临压力,而SDN的不进则退让网络更没有后路必须大力开展前瞻性研究。微信O2O、互联网金融的新业务形态也给网络带来更多的思考。
2014年网络会收获什么?请你和我们一起期待,因为这是一个新的梦想启航的时刻。