微信为什么没崩过?
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亿用户,与有荣焉。“做技能支撑的团队,一定要有一个好的心态,便是你不在聚光灯下,可是咱们心里边知道今天在台上的产品那么成功,跟咱们是有很大关系的,自己的内心要足够强壮,要相信这一点。”
他们也探索出了足够多和事务部门交流的办法。邹方明经常给团队灌输的理念是,除非你有确凿的依据能证明你是对的,不然你就先听事务部门的。
现在,微信背面的技能体系现已接近完善,“没有特别明显的缺点和短板。”肖志立对此很自信。
不过,技能团队仍旧存在焦虑感。其实,腾讯这支技能团队一向很安稳,腾讯内部架构几经大动,技能部门一向没变。他们阅历了文字互联网年代、图片互联网年代,到了视频互联网年代,再到现在的实时音视频互联网年代,技能一向在演进,内容越来越丰富,实时性越来越强。这关于背面体系承载才能的要求,关于安稳性、延时的要求,也要比本来高许多,技能永无止境,他们也永久等候攻克下一个难关。
邹方明还在持续学习中。他经常参加线下活动,在一些论坛或峰会上,奔到现场面对面和业界大牛交流取经,“咱们不可以关着门做,你有必要要到外面找一些可学习的点,业界的大牛许多,他们会有许多比较好的创意和办法论。”“你永久不知道什么时分冒出一个新的东西。”肖志立很感慨,“作为支撑团队,咱们得有这种气魄和才能,可以在弹药不行的情况下支撑事务团队打胜仗。”