货拉客货源 发表于 2024-3-1 13:10:29

微信系统不崩的秘密

本报记者 任晓宁 北京报道
微信为什么没崩过?
12亿中国人都在使用微信,却很少有人思考过这个问题。其实,微信也曾徘徊在濒临瓦解 的边沿 ,腾讯基础架构部运营治理 支撑中心总监邹方明现在还记得2014年年夜 年节 ,人们刚学会用微信发贺年 视频,流量直接爆失落 ,系统濒临崩盘,公司上下所有人的压力都集中到他一小我 身上,等他做出决定。他说,那是他最痛苦的时刻。
直到现在,在微信使用量最年夜 的时刻,比如年夜 年节 ,或是元旦、七夕、中秋,或是情人节,腾讯团队也会提前几个月准备 资源。前几年的岑岭 期,负责腾讯红包系统运维的肖攀甚至会拜一下QQ公仔,就像拜佛一样,求系统不崩。
现在,他们已经积累了一整套包管 系统不崩的办法 论。
腾讯10年维护微信系统不崩的故事,是一个从手忙脚乱到心平气和的长年夜 故事,是一个技术系统从无到有的故事,也是一个公民 级用户产品的技术秘密。腾讯技术团队向经济不雅 察报讲述了这些故事,他们构建的系统,使用的技术,在运行中积累的经验教训,对于其他公司,或可提供些许借鉴。
濒临崩盘的时刻
一刀切封闭 系统、还是继续寻找漏洞?是邹方明必须立刻做出的判断。
他是腾讯的老人,2006年进入腾讯,负责技术,一手搭建了QQ和微信的聊天图片、视频系统。但在2014年年夜 年节 微信流量爆发而濒临崩盘的时刻,他依旧蒙受 不住这种压力。“系统全方位崩盘,流量也爆了,前端的系统就似乎 洪水一样的,后端的系统更软弱 ,连着倒了三四个系统和平台,不但 我们的平台倒了,底层存储的其他部分 其他系统也倒了。”
体现在用户侧的感触感染 是,用户在朋友圈把视频发出去了,但身边朋友一个都没看到。
用户投诉源源赓续 而来,邹方明需要立刻做出判断。他可以花更多时间去查一下到底是什么原因导致,彻底解决问题,或是爽性 一刀割下去,先暂时限制视频功能。“哪个计划 能够最快恢复办事 ,我事后在脑海里模拟了无数遍,也想不出哪一个更快。”
邹方明站在机房前,对着那台显示崩盘的电脑,身边的运维看着他,手指放在键盘上期待 指令,老板在办公室一言不发,产品团队需要一个回复,公司外数以亿计的用户,所有人都在期待 着他的指令。
虽然只有十几分钟,但每一秒都是煎熬。
邹方明最终决定一刀切。至少切断后,再次恢复,能给到用户继续使用的可能性。不然 ,不知道要排查多久能力 真正找出问题。直到现在,他也不克不及 说自己的选择是最正确的,但那是最快解决问题的选择。
微信出生 早期,上面的时刻时有产生 。2015年,微信红包赞助春晚,年夜 年节 当天红包量级从10万级提升到10亿级,负责运维的肖攀,买了个QQ公仔,插上两根香,每当觉得心里不稳妥,就去公仔前拜一拜,祈求千万不要出事。
微信后期,一套成熟的稳定系统已经形成,依旧有弗成 预料的事情产生 。2020年2月,腾讯会议在一个月时间增长1000倍,腾讯云副总裁、腾讯基础架构部总经理肖志立也遇到了难题,他的难题不是技术原因,而是物力资源跟不上。
其时 ,因为疫情,运营商的BGP带宽满足不了、外网IP地址满足不了,并且,由于设备供给 商无法复工,设备也供给 不了。
肖志立给联想打德律风 ,询问能不克不及 给库房供1万台机器,对方说欠好 意思,员工都回家了,疫情期间没有办法回来。
直到最后,新机器也没有送到。最终,还是只能死磕技术,通过软件的优化,把之前一个单位 支持100路的技术,提升到支持200路,才解决了物理资源不足的难题。
一个从无到有的系统
12亿用户感知到的,是每天都在使用的微信这个产品。他们感知不到的处所 ,微信背后仅技术平台就包含 图片平台、音视频传输平台、红包系统、小视频平台等等,这些平台接入腾讯内部跨越 90%的业务。
平台组合在一起,形成庞年夜 的系统,基本能解决已知与未知的问题。这些平台的形成,不是一蹴而就的,而是经历了漫长的进程 。
图片系统历史最悠久,早在2006年的QQ时代就开始使用。昔时 ,QQ用户突破1000万,上线了QQ空间相册,产品很受欢迎,但对于技术团队来说,一个首先面对的问题就是:撑不住了。存储计划 也好,流量计划 也好,索引计划 也好,都支撑不了用户诉求。“整个底层存储都已经疯失落 了,”邹方明来到这个部分 时,恰好经历了这样的时代。一些公司在近几年赞助春晚或遇到突发事件时,突然发明 的问题,腾讯在十几年前也遇到过。现在微信、QQ系统的稳定,是昔时 吃亏后积累的经验教训。
用户对图片的诉求,延伸出了腾讯第一代存储系统,衍生了TFS,之后有了相册系统,不过,其时 ,他们还没有想到做技术平台。
不久,新矛盾爆发。QQ农场火爆后,每个用户都有很多头像,但原有的相册系统支撑不了图像高IO(输入输出)。这种情况下,邹方明把相册系统做了简单的分支,就叫头像系统。
头像系统和相册系统,都是图片,应该离开 还是融合?内部其时 有些焦灼,经过很长的PK,他们觉得,还是应该融合到一起。融合之后,腾讯有了第一个技术平台,图片平台。
相对于之前各自分别 的系统,平台的优势在于成本。腾讯其他团队也在做图片办事 ,他们发明 ,花了这么多年研发精力,还不如接入到图片平台中,把研发团队的生产力解放出来。
腾讯的其他平台随后逐渐出生 。
2016年,视频平台出生 。2019年,音视频传输平台形成。期间还有红包系统、文件系统、网盘系统,用户最核心的几个场景平台,都由基础架构部搭建完成。
历久 以来,腾讯在互联网公司中都以产品力著称,产品的背后,是技术平台的助力。
去年火爆的视频号就是一个典范 案例,一年时间,视频号推出了一系列功能,产品人员提出功能需求后,技术人员第二天或者是第三天就能拿出计划 ,这离不开平台的办事 和支撑。“产品有想法时,研发人员能够很快速做出一个模型,尽快做迭代和测验考试 。”邹方明解释,“能够在60分的基础上去做加法,产品技术团队可以把视角放在用户喜欢玩的玩法上面,放在终端体验的细节上面去,从而从整个研发的长周期中挣脱出来。”
微信出生 10年,背后的系统也有所不合。2016年之前,系统处于性能不足阶段,其时 涌现 问题,无论是漏洞或是代码问题,事件爆发的根来源基础因是,系统能力不足导致的故障。
2016年之后,系统升级,此后再有热点,或是再有突然事件,对于技术来说,就只是量级提高了,都在系统可以支撑的范围内。
在云时代,系统的支撑能力又有了增加。QQ于2020年完全上云,整体都在云端。微信花了3年时间上云,今年会全部上云。上云的利益 是,如果有突发情况要从其他的业务腾挪资源,速度快很多。“不然 我们就得先把设备从A业务上下来,再添加到B业务去,再做测试验证,这样时间就长很多。”
微信10年,系统的基础建设主要朝着两个主要的目标在做。“一个是系统的健康性,比如你的熔断能力,自我恢复能力,每年我们都在找办法 。另一个偏向 就是系统单位成本的承载能力。从字面上去解释,因为我们的资源团队、产品团队,都邑 给出一个固定的成本,这固定的10000台设备,能够支撑100万次请求,还是500万次请求,是每年都在连续 优化和迭代的进程 。我们会发明 ,只要你的承载能力强了,就可以把每个危急时刻酿成 不危急。”邹方明说。
产品不崩的办法 论
不过,即使有了系统,也不克不及 完全包管 不崩。尤其对于一款12亿人使用的社交产品,任何时刻都有弗成 控性。
直到现在,腾讯技术团队也不敢打包票说系统完全可控。“推演也是算不过来的,总会算错的。比如说零点全国发红包的人到底有若干 ?公司发红包的量到底有若干 ?这个器械 说实话不是那么好估了,这个时候我们就会想,有没有保底的年夜 招,来使得这个拜访 量控制在系统可接受的范围之内,这是异常 重要的保底办法 。”肖志立说。
崩盘之前,技术部分 会提前预演,谋划 好“剧本”,“剧本”是一种柔性控制,也可以统称为降级。微信用户有时在岑岭 期会觉得微信消息有延迟,或是朋友圈视频分辨率降低,就是一种降级。
当系统遭遇了远超预估的拜访 量,就要降级,比如朋友圈视频平时一个视频年夜 概2兆,但岑岭 时刻可以先砍一刀,把2兆砍成1兆,让更多的人有视频可以看。
在弗成 预判的业务场景,他们基本上都邑 以这种办法 去应对。“高突发的时候,用户不会用得那么爽,但能让90%用户觉得满意,不至于说突然量跨越 预期了,然后就立刻不可 了”。
肖志立告诉记者,腾讯一直有一个海量之道的技术办法 。在突发比较高时,始终有一个漏斗模型,“第一层先去顶住绝年夜 部分的请求,把相符 要求的再往下层漏,再往下层交易最重的系统。这样能包管 承担的请求是真正需要的请求,而不是把前面所有的请求都打到后面去。”
这个技术办法 论被视为腾讯的保底年夜 招,多年来屡试不爽。
如今只道是寻常
2021年春节,腾讯基础架构部在一片祥和中度过。年夜 年节 5点半,肖志立把其时 留守的几十个兄弟拉到办公室对面的一个餐厅聚餐,吃到6点半,回来守着机器一起度过了年夜 年节 夜。
全程没有任何惊险时刻,无惊无喜。
肖志立依旧全程盯着。他每年春节前后都在,春节是最考验微信的时刻,在他们技术内部看来,平时吹什么牛,都不如扛过春晚的流量来的实在。“每次我也在想,我也不去敲代码,也不去做指令,为什么我要在?我能够感到 到就是崩盘了之后,年夜 家都指着我去做‘要人命’的决定,出了故障我才有价值,没出故障我就像一个闲人。”邹方明已经记不清自己守过了若干 个春晚,只是觉得很感慨。
在基础架构师的职业生涯里,异常 重要的一点,就是在症结 时刻做出症结 决策。
2018年之后,微信很少再有症结 时刻。这一年,微信红包的用户量基本上接近于微信的用户量,之后的增长基本上已经平稳。
肖攀最近两年也没有再拜过QQ公仔了,“都比较有信心。”
现在的系统,已经不再需要年夜 的更改 。并且多年春节经验后,团队值班的手段和策略都是已经完备和成熟的,还可以提前预判事件。比如今年,他们预测云年夜饭会提前导致一个小岑岭 ,果真 ,当晚7点的流量是往年5倍,因为已经提前预测,今年也平稳度过。
对于现在的腾讯技术团队,不再有惊心动魄的故事产生 。
架构师的经验教训
微信成立10年,腾讯技术团队也跟着走了10年,他们经历高压,经历瓦解 ,经历焦虑,到现在视为寻常,一路走来,他们见证微信用户从0涨到12亿用户,与有荣焉。“做技术支撑的团队,一定要有一个好的心态,就是你不在聚光灯下,然则 我们心里面知道今天在台上的产品那么胜利 ,跟我们是有很年夜 关系的,自己的内心要足够强年夜 ,要相信这一点。”
他们也摸索出了足够多和业务部分 沟通的办法 。邹方明经常给团队灌注贯注 的理念是,除非你有确凿的依据能证明你是对的,不然你就先听业务部分 的。
目前,微信背后的技术系统已经接近完善,“没有特别明显的缺陷和短板。”肖志立对此很自信。
不过,技术团队依旧存在焦虑感。其实,腾讯这支技术团队一直很稳定,腾讯内部架构几经年夜 动,技术部分 始终没变。他们经历了文字互联网时代、图片互联网时代,到了视频互联网时代,再到现在的实时音视频互联网时代,技术一直在演进,内容越来越丰富,实时性越来越强。这对于背后系统承载能力的要求,对于稳定性、延时的要求,也要比原来高很多,技术永无止境,他们也永远期待 霸占 下一个难关。
邹方明还在连续 学习中。他经常加入 线下活动,在一些论坛或峰会上,奔到现排场 对面和业界年夜 牛交流取经,“我们不克不及 够关着门做,你必须要到外面找一些可学习的点,业界的年夜 牛很多,他们会有很多比较好的创意和办法 论。”“你永远不知道什么时候冒出一个新的器械 。”肖志立很感慨,“作为支撑团队,我们得有这种魄力和能力,能够在弹药不敷 的情况下支持业务团队打胜仗。”
本文经「原本」原创认证,作者经济不雅 察报,拜访 yuanben.io查询【3P1JE714】获取授权信息。
页: [1]
查看完整版本: 微信系统不崩的秘密