资讯 业界
此为临时链接,仅用于文章预览,将在时失效

20万台QQ服务器全量上云,4位腾讯老兵阐述“火车换引擎”背后逻辑

作者:王刚
2020/01/19 19:48

早年,腾讯主要创办人之一、前CTO张志东给腾讯写下第一份商业计划书时,为QQ定的第一个“五年计划”是在线人数突破1万。 

实际上,两年内这个数字就达到了100万。 

QQ风靡了网络社交的初创时代,缔造无数奇迹,成为腾讯最庞大、最悠久、最复杂的业务之一,以至于我们很大程度上强化了“腾讯就是QQ,QQ就是腾讯”的概念。 

20万台QQ服务器全量上云,4位腾讯老兵阐述“火车换引擎”背后逻辑

到后来,QQ除了业务上取得成功,也留下了大量支持后台的计算设备——其中就包括20万台冰冷的服务器,分布在华南、华北、华东三大区域。这些年,QQ后台服务依赖关系极为复杂。 

不过,腾讯云团队近日宣布:社交业务包括QQ和空间的体量有近20万台服务器已经全量上云,分布在3地的用户全都迁到了云上,实现完整的QQ公有云上服务。 

是的,“开着火车换引擎”,腾讯做到了。 

业内人士评价,这次自研上云的成功,一方面为腾讯云的进一步壮大打下坚实的基础,另一方面,也为QQ自身的技术重生埋下伏笔。 

基于此,雷锋网与4位腾讯老兵,对QQ上云的规划、挑战、流程进行了对话,以寻找到背后的逻辑。 

“自研上云”是最新技术战略 

2018年9·30变革后,腾讯进行了“扎根消费互联网、拥抱产业互联网”战略升级和提出了“科技向善”的新愿景,新成立的技术委员会,明确了“开源协同、自研上云”的公司技术战略。 

开源协同是代码开放、资源协同,自研上云就是技术协同的一种最终落地的形式,在公有云上协同应用。 

口号喊出来,就像是剑已出鞘。 

自研上云项目天然作为一种全公司的重大举措要被支持,这个时候意味着全公司的资源(BG的资源)要全面拥抱腾讯云。 

腾讯公司运营管理部运营规划负责人陈铁钢表示,不光腾讯云要增加一部分人力来支持自研业务,同时自研业务的人,也要主动把自己的人力放上去支持把腾讯云的业务做好,是一个合力。 

在这个技术战略背景下,QQ加快速度往云上“迁徙”。 

陈铁钢在2007年加入腾讯,一直负责公司资源运营布局规划、运营成本优化和架构评审工作,参与并见证了腾讯服务器从2万台到100万台的规划落地。

在腾讯服务器过百万台的历史时刻,他参与了腾讯技术战略升级的重大变革,即推动自研业务上云。 

QQ业务上云的挑战与应对 

如果把QQ当做行进中的列车,那么云就是一个新的引擎。QQ本身在业务层面不可能换挡降速,所以作为引擎的基础设施必须变! 

陈铁钢提到,在过去,腾讯云跟QQ等这种自研业务是完全割裂的两个资源体系,自研业务用着一千台自研的服务器或者十万台自研的服务器,云上业务支持20万台的服务器,两边是割裂的。 

QQ体量庞大,各系统间耦合非常强,这是一个非常大的难度。 

作为腾讯云运维中心总负责人,徐勇州说到一个细节:2015年,腾讯云在上海建立了一个测试业务上云的沙箱,整个基础设施都是腾讯本身的计算存储及数据库等能力。

QQ当时已经尝试把业务放进来测试,但当时沙箱没有解决整个网络互通的问题,导致方案进展放缓。 

2018年底-2019年初,集团的“自研上云”战略明确之后,腾讯加大了在网络互联互通上的投入。与此同时,腾讯云的精力也由服务外部大客户到加大对内部自研业务的支持。 

20万台QQ服务器全量上云,4位腾讯老兵阐述“火车换引擎”背后逻辑

值得注意的是,QQ上云工作不是一蹴而就,早几年就已经在做,比如前文提到的沙箱测试,QQ之所以成为自研上云的先行军,与其准备度高分不开。 

徐勇州在2005年10月份加入腾讯,是QQ后台的第一位专职业务运维,一直负责QQ的运维能力建设,经历了QQ从1000万到2亿最高同时在线的技术架构演进。

他表示,技术变革背景下,这个阶段上云会体现出更大的一个价值,和过去砂箱的区别不是仅仅产品的有和无,还有就是服务和能力支持的一个问题。 

QQ即时通讯的特点,决定了用户对QQ的实时性要求很高,怎样合理灰度,做到用户对上云过程零感知,是一座需要跨越的大山。 

“QQ这种业务是属于海量的用户互相访问的过程,既不可预测,也没法做一个良好规划。QQ的访问中,有大量临时的UDP(用户数据报协议)的访问会建立起来,会带来各方面对基础的虚拟化和网络、计算性能的挑战。” 

说这话的是肖世广,他是腾讯云原生架构总经理,前QQ技术运营总监。2008年进入腾讯,曾先后负责QQ、Qzone、腾讯视频、QQ音乐、腾讯广告、QQ农牧场等互联网产品的技术运营管理工作。 

他看到了无数的后端技术压力,仅仅一个QQ群,就是原有技术需求几百倍的放大。 

作为腾讯云服务器第一负责人,李力亲历了云服务器从0到1的过程。他表示,早期给QQ做优化的时候,腾讯云更倾向于优化数据的性能,因为QQ中大量临时UDP出现,会变成QQ上云之后一个比较小的性能瓶颈。 

但是这个非常小的性能瓶颈可能就会带来成本急剧的增加——因为QQ的业务实在太大了。 

因此,面对QQ这种场景,腾讯云先尝试做资源补充,研发团队、虚拟化团队花了很长时间在具体的细节方面做了很多工作,在软件定义网络的项目把这个问题解决掉,以一个非常合理的资源和成本满足QQ的业务要求。 

据雷锋网了解,QQ后台服务搬迁到云上部署,还面临着安全问题(云上更容易被恶意入侵)、依赖问题(QQ后台服务依赖关系复杂)、容灾问题(云环境多地容灾)、灰度问题(用户零感知)。 

仅仅从容灾方面来看,QQ上云需提前评估自研机房到云机房所需的带宽。 

假如使用城市方案,专线带宽应该跟现有的三地部署方案对齐。QQ核心系统大概需要几十G的带宽。若采用IDC方案,QQ里面有很多业务使用有状态的寻址方式,把同城内的机房全部打散访问。 

因此,把广州云当做深圳的IDC后,广州云和深圳的专线穿越会增大。参考深圳内部的IDC穿越带宽,预计需要增加几十G的带宽。 

为此,开发者们评估了自研到云机房的带宽:支持QQ几大核心系统(接入、消息、状态、资料、关系链、登录)所需要的带宽为N。而所有QQ基础功能都迁移到云上,则至少需要2N的带宽。

考虑到容灾问题,实际上拉了两条专线互备(防止专线被挖断形成孤岛),即为QQ上云专门搭建4N 的带宽专线。 

这个项目为腾讯云和QQ都埋下了新伏笔 

“集团给我们明确了,不是为了上云而上云,其中有一条:QQ上云不能有额外的成本支出。” 

陈铁刚表示,腾讯内部对成本有着极致的要求。 

20万台QQ服务器全量上云,4位腾讯老兵阐述“火车换引擎”背后逻辑

有20年历史的QQ,成为腾讯内部运营时间最长的业务。

一方面这几年腾讯云给QQ提供云上资源支持,另一方面QQ原本很多服务器到了服务年限,大部分都被自然裁撤了,少量的可以置换到其他云下的业务使用。

如果为了上云而把所有的服务器一下子从自研搬到云上,这会是一个非常巨大的成本。 

现在,在3年上云的节奏下,腾讯云终于完成这项壮举。

当然,这件事对QQ本身的技术价值也非常之大,比如全面拥抱DevOps,研发效率更高效;全面拥抱DevOps,研发效率更高效;彻底拥抱云原生,用云来满足业务快速迭代,资源弹性伸缩的需求;主动与开源社区协同,贡献更多的功能特性。 

在腾讯云走过全网服务器总数量突破100万台、带宽峰值突破100T、前3季度营收突破100亿的重要节点上,QQ全量上云,必将又是一个新的起点!(雷锋网)

相关文章:

深度对话腾讯云总裁邱跃鹏:中国第二大云厂商崛起的背后

长按图片保存图片,分享给好友或朋友圈

20万台QQ服务器全量上云,4位腾讯老兵阐述“火车换引擎”背后逻辑

扫码查看文章

正在生成分享图...

取消
相关文章