产经> 市场信息> 正文

高峰之巅:腾讯的“春节保卫战”

21世纪经济报道 2021-03-25 13:00

2021年春节,在全国上下“就地过年”的号召下,很多人第一次经历了除夕夜没有与家人团聚。而对邹方明来说,除夕夜在公司早已是家常便饭,过去九年,他的年夜饭时间都是与同事们一起度过。

以往,邹方明和同事们习惯叫海底捞的外卖到公司,大家以一顿火锅来为过去的一年收尾,但今年,因为搬到新的大厦,不能开火,所以大家只能跑到公司对面的一个餐厅去吃饭。

所谓的年夜饭,整个过程也十分平淡,没有人喝酒,吃饭时间也只有下午5点半到6点半约一个小时,用餐完毕,大家都快速回到了工作岗位上。因为不出意外的话,晚上7点他们会迎来一波用户高峰,而接下来的时间,他们的任务就是监测一波又一波的用户高峰,并应对可能到来的突发流量。

伴随着新年的钟声敲响,邹方明眼前的监测软件一切正常,他们终于可以松一口气,因为又挺过了一年“春保”。

邹方明现在是腾讯基础架构部自研业务中心总监,他所在部门的主要职责是做腾讯内部自研业务的研发支撑,简单来说,就是该部门接入了腾讯超过90%的业务,用户平时使用的腾讯产品,如微信、QQ等,底层的技术支撑都与它相关。

而“春保”是春节重保的简称,邹方明告诉21世纪经济报道,腾讯的产品以社交产品为主,而社交产品一定会有热点事件、关键时刻以及重点保护时刻,其中,春节则是挑战最大、任务最重的重点保护时刻。

据悉,腾讯内部开始设立“春保”项目是从2013年春节开始。腾讯云副总裁、腾讯基础架构部总经理肖志立在接受记者采访时表示,春节的高峰期其实在PC互联网时代就有,只不过那时候,用户上网还没有那么方便,所以当时的高峰不是在除夕,而是在初四或初五,大家过完春节开始工作后,要把一些照片上传到QQ空间进行分享,但整体来说,那时候的保障压力不是很大。

但从2012年开始,尤其是当微信出现之后,移动互联网的浪潮席卷而来,用户的沟通互动变得更加实时,也由此催生出真正的春节高峰。之所以说这是真正的高峰,是因为与过去PC互联网时代相比,它的峰值有了成百上千倍的增长,当然,这种巨大的反差,也给从事技术保障的工作人员,留下了许多惨痛的回忆。

意外不断的“春保”

对邹方明来说,2013年是他第一次经历“春保”,那也是他最“痛苦”的一年。

当时,2011年1月发布的微信正快速发展,2012年3月,微信的用户量突破1亿,到了2013年初,微信的用户量已经突破3亿。而邹方明是微信聊天图片以及聊天视频整套系统的研发负责人,如上文所述,2013年之前,腾讯内部并没有明确的“春保”概念,邹方明也没遇到过增长如此之快的产品,所以,在他脑海里,也没想过微信会突然出现“大拥堵”。

2013年的除夕,在整个移动社交如火如荼的背景下,人们在移动端的互动变得越发频繁。微信里,用户们拉起各种群聊,并开始群发拜年视频。社交产品的魅力在于它的裂变,一传十,十传百,但对技术人员来说,这种裂变带来的则是恐怖的高并发。

邹方明回忆,2013年除夕,拜年视频的量突然增长了六七倍,这已经超过他们的储备。当时,面对突如其来的巨大视频量,邹方明有些束手无策,因为没有准备预备方案,也无法临时调取更多服务器资源,为了保护整个系统不崩掉,他们只能采取降级的方法。

这里的降级,是指限制用户发视频的大小,一开始的限制是10兆以上的视频不让发,后来变成6兆、4兆、2兆,整个降级过程从当日晚上7点一直持续到10点,整整三个小时。邹方明称,晚上8点多最高峰的时候,他们几乎限制了70%-80%的用户发视频,这是非常可怕的,其间他们也收到了大量用户投诉,但当时确实束手无策,只能通过这种粗暴的方式,把流量高峰熬过去。

有了2013年春节的惨痛经验之后,腾讯内部开始进行“春保”筹备。邹方明介绍,“春保”项目的筹备周期基本上从每年10月份开始,持续两到三个月左右。筹备过程中,产品和技术团队会先把春节期间的产品玩法大致都确定下来,然后再根据这些玩法来衡量各个产品要用多少带宽和存储等。

当然,这个时候并不是产品提出多少资源需求就都能满足,邹方明团队还会把需求和资源做一个着重的平衡,目的是在资源有限的情况下,通过技术的提升和柔性的策略,确保各个产品的用户体验。

但2015年春节,在进行了“春保”准备下,意外还是发生了。因为2014年10月,微信上线了小视频功能,可以分享到朋友圈和聊天界面,所以“春保”前夕,即10月、11月时,微信小视频的用户量并不大,在做预估时,也根据它的量级给了几十倍的容量。

可到了2015年除夕,微信小视频突然产生了超出预期的巨大峰值。在春晚开始前的一个小时左右,小视频的发布量激增,系统开始出现故障。邹方明和同事们开始紧急扩容,但是,由于当时微信小视频的系统是复用腾讯视频的,更加偏向PGC,而不是UGC,所以处理过程也更加复杂。

邹方明回忆称,当时紧急扩容了一个索引模块后,索引没问题了,但随着量继续上涨,前端接入模块又出现问题,然后处理好接入模块后,另一个视频处理模块又不行了。

“所以当天晚上,问题也持续了约三个小时,当我们把能扩的地方都扩完之后,用户高峰已经过去。”邹方明说,虽然整个系统没有受影响,但是对用户来说,这个除夕的小视频体验是不好的。所以2015年春节过后,腾讯基础架构部对整个视频系统架构做了调整,并针对小视频的场景做了优化。

扛住红包压力

2015年春节,除了微信小视频带来的紧急状况之外,腾讯“春保”实际上还迎来了另外一场大考——微信红包的春晚互动。

肖志立向记者表示,大概2014年11月,他们从微信支付团队得知,春节要和春晚合作进行一场红包活动,触达的用户规模会很大。当时,距离春节只有两个月的时间,这对肖志立团队而言,无疑是一次重大考验。

肖志立称,当时面临的问题主要有三个:首先是原来的红包系统肯定不能用了,因为原来的系统本来是面向公司内部几万人使用的,现在要扩大到给10亿用户发红包,整个系统必须重做。

其次,春节的红包活动是通过春晚口播的形式,让用户参与抢红包,这里面的挑战是很难预估系统要承载多少访问量。“不知道要承受多大的压力,这其实是做架构的大忌,但我们当时确实没有任何参考。”肖志立说。

最后,是这次技术保障工作只许成功,不许失败,“如果失败,那就是在全国人民面前丢脸,所以技术层面的压力会比任何时候都大。”

在这不到两个月的时间里,肖志立带着腾讯基础架构部的红包系统团队和微信支付团队一起,通宵达旦地待在深圳腾讯大厦,每天基本上是晚上12点钟提交版本,凌晨1点开始做测试,大概凌晨三四点钟出结果,大家再继续上来研究第二天如何优化和改造。

一直到2015年2月10日左右,整个红包系统基本上确定了下来。但直到除夕前三天,整个团队仍然在改代码,因为在反复测试过程中,只要发现可能带来风险的地方,肖志立都会让团队把它改掉,“我们必须尽量把所有风险都排除掉。”

最终,腾讯的2015年春晚红包活动圆满完成,微信支付也凭借这次合作,在移动支付领域完成了对支付宝的追赶。据微信官方数据显示,2015年除夕当日,微信红包收发总量达到10.1亿次,在晚上8点到次日凌晨零点四十八分的时间里,春晚微信摇一摇互动总量则达到110亿次。

腾讯基础架构部技术运营中心总监肖攀告诉21世纪经济报道记者,对于红包系统来说,如果遇到了超预期的巨大流量压力,他们也会采取一些降级的办法,比如从金额上做一些限制,这样就可以把并发量快速降下来。

另外据肖攀介绍,整个红包系统其实像漏斗一样,它每一层都在过滤,所以抢红包的“抢”这一下,是用户并发量最高的,其次是拆,等到最后真正的交易环节,其实用户并发量已经少了很多。

虽然近几年,微信红包的发展速度也很快,但是再也不会像2015年那样出现从10万量级到10亿量级的飞跃式增长。目前,微信红包的用户量已经接近于微信的用户量,春节期间并发量的增长也相对稳定,对腾讯的红包系统来说,现在的主要工作就是对系统进行不断优化,降低成本和资源。

“春保”变成常态

邹方明告诉记者,若回顾腾讯过去九年的“春保”,大致可以分为两个阶段,第一个阶段是2013年至2016年,可以称为承载力不足的阶段。

在这段时间,有业务快速发展的原因,也有腾讯自身技术架构不完善的原因,总之就是系统能力不够支撑业务的增长,导致了各种故障的出现。所以这个时期,主要工作就是提升承载能力,除了增加硬件设备,在技术手段上,也要不断进行性能提升。

第二个阶段则是2016年以后,这个阶段,在过去几年的沉淀和优化下,腾讯的承载能力已经基本没有问题,这时候要做的就是精益求精。伴随着用户对产品体验的要求不断增加,腾讯也需要在保证系统正常运行的基础上,不断优化承载能力,比如过去,可能对技术的要求是不能拒绝服务超过30分钟,而现在,拒绝服务的情况已经不会发生,对技术的要求则变成服务的时延不能超过5分钟。

今年的“春保”,肖志立整体体验下来,感觉十分顺畅,所有的高峰期都在预测范围内。所以,对肖志立带领的腾讯基础架构部来说,像“春保”这样的重点时刻的保障工作,在现有的业务条件下,压力已经趋于平稳,要提防的主要是一些突然出现的关键时刻。

比如2020年初,因为新冠疫情的原因,让2019年底才上线的腾讯会议迎来了一次关键时刻。按照腾讯会议团队原先的目标,是预计2020年底的DAU达到5万,到2月中旬时,腾讯会议的同时在线用户已经突破400万,达到了1000倍的增长。

这种大幅的增长,也给腾讯基础架构部带来了巨大的挑战。肖志立表示,其实单从技术层面,在线用户几百万的业务腾讯有很多,做这种业务的支撑也不是什么难题。但当时之所以情况紧急,是因为疫情的影响下,他们无法找到足够的物理资源,比如运营商的BGP宽带满足不了,外网的IP地址也满足不了,一些设备供应商无法复工,各种设备也供应不上。

这个时候,这些硬件的问题只能通过软件来想办法解决。肖志立称,IP地址不够,就想办法用端口复用的技术,新机器供应不了,就从全国各地调集服务器,重新通过虚拟化或者软件架构的方式去适配,争取先把腾讯会议的业务支撑起来。

就是在这种条件极为艰巨的情况下,腾讯会议完成了100万核的扩容。其实从难度上来讲,腾讯会议的紧急扩容要比2015年应对春晚红包活动更难,因为这是在完全没有准备的情况下,应对的一次挑战。而腾讯之所以能够顶住压力,也是因为过去经历了太多次像“春保”一样的重要时刻。

邹方明便表示,现在从故障发生的频率和维护的稳定性来说,技术保障工作变得更加容易了,因为大家都身经百战,很多员工从2013年“春保”工作至今,对每个业务的性能和需求都十分熟悉。所以现在出现大状况,主要就是因为没想到,但实际上,这种没想到的情况也已经越来越少。

(作者:白杨 编辑:李清宇)

新闻推荐

以价换量下快递龙头竞争加剧:中通去年市占率上升但净利润下降

中通快递首席财务官颜惠萍表示,加速业务量增长并获取市场份额是其公司目前发展阶段中最重要的目标。以价换量仍是该公司眼...

相关阅读