双11的水下战场:追着飞机换引擎的人

2021 年 11 月 15 日 机器之心

 机器之心发布

机器之心编辑部


历年双 11,最引人瞩目的是 GMV、订单量和支付笔数。但鲜为人知的是,支撑双 11 顺利运转的,不仅仅是交易链路和支付链路,还有一套至关重要的消息链路。

这条链路一方面连接着阿里、上千万商家与数亿消费者,另一方面还承担着双 11 线上协同作战的指挥链路,就像战场上的通讯兵,不仅要保障指挥中心的“耳聪目明”,还要保障消息在每一个参战单位之间的顺畅流通。

这套系统有多高效?“60.69 万条 / 秒”,这是 2021 年双 11 当天,淘宝、天猫、钉钉等双 11 核心 APP 的消息处理峰值。

这套系统,就叫作钉钉消息平台,内部名称 IM PaaS。

普通人或许对这个名字感到陌生,因为它 “沉” 在一系列肉眼可见的应用 “下方”。不过,如果你打开手淘,点进一个商品和商家讨价还价两句,那么你们敲下的每一个字和每一个表情,就都跑在这套“看不见” 的底座之上。

几乎没有人知道,人们在淘宝内发消息时的底层软件从旺旺切换成了钉钉,但这并不是用户不够细心,而是钉钉刻意为之。
 
工程师们将这个为期三年的项目,比喻成“开着飞机换引擎”,他们希望飞机上的乘客不会感到一丝颠簸,同时也让飞机运转效率有更大的提升。

 
在光明顶陪跑的一群人

双 11 从 2009 年开始举办,第一年只是淘宝商城不太起眼的冬季运营活动,参与活动的的人员一个会议室就能挤得下,交流基本靠吼。2013 年,位于黄龙园区的支付宝加入双 11,需要和阿里西溪园区线上协同作战时,旺旺成为了首任内部通讯平台。

钉钉首次被邀请参战,是在诞生之初的 2015 年。如今成为钉钉 IM 技术负责人的达野至今还记得钉钉首次参战双 11 的场面。那一年,双 11 历经六年时间,已经成为阿里一年一度最大的盛典,能进入阿里巴巴西溪园区核心作战指挥室 “光明顶” 参与技术会战的,无一不是阿里核心业务的精兵强将。
 
未满周岁的钉钉,甚至还没有成为阿里内部通用的沟通的工具,却在 “光明顶” 有了一席之地,这自然让钉钉 IM 团队的成员们兴奋不已。

但钉钉那时所承担的角色,用一句不太好听的话来说,是“备胎”。

每年双 11 技术保障都需要建几十甚至数百个内部沟通群,2015 年到 2018 年的三年时间里,这些群既有旺旺群,也有钉钉群,两个通讯工具互为备胎,一旦其中一个挂了,就迁移到另外一个上。

说起来是和旺旺“互为备胎”,但钉钉的工程师内心有数。当时钉钉的技术人员不多,保障双 11 方面经验更少,达野直白地承认,对于钉钉受邀参加双 11,“一开始我们完全不敢相信。我们都很清楚,集团是在借助这种方式照顾钉钉,表达对我们的重视。”

“备胎”一当就是四年。虽然这四年中,钉钉在功能和技术上不断创新,以肉眼可见的速度成熟起来,“已读未读”、“组织架构可视化”、“群协作”等产品接连上线,也拿下了阿里内部主要沟通工具的地位,但在双 11 的舞台上,还始终欠缺一个至关重要的机会。

一生一次的转正机会

机会说来就来了。

2019 年,阿里巴巴 CTO 线轰轰烈烈的开展了三大战役:统一阿里小程序、阿里经济体全面上云和统一 IM,最年轻的钉钉扛起了统一 IM 的重担。

消息一出,钉钉很兴奋。所有的技术人员都无比自豪:“统一 IM 的工作交给钉钉,这是对钉钉能力的肯定。”

他们接到的任务听上去并不困难:在 2019 年的双 11 中,承接淘宝 5% 的核心交易信息。

但现在钉钉 IM PaaS 的负责人聚望一听,就知道这活儿不好干。因为这需要把钉钉的消息系统和手淘集成打通,这件事他和达野从 2017 年左右就尝试过,达野说:“当时我们想把钉钉的 IM 系统集成到手淘中去,让手淘的用户跟钉钉的用户可以聊起来。”

愿望丰满,现实骨感,那次尝试,他们铩羽而归。

这个代号叫作 “天地汇” 的项目旨在联合钉钉和手淘,尝试打通 B 端商家和 C 端消费者之间的消息链路。在这个项目上马之前,阿里的各个应用几乎都有自己的 IM 系统,光是手机淘宝就有两套 IM 工具(手淘自己的 IM、旺旺),再加上商家们很多在使用钉钉进行办公协同,这些 IM 工具像一个个重复的烟囱,彼此并不互通,重复建设和日常运维也给运转效率带来了不小的压力。

“天地汇”成为一次打破两个产品之间信息烟囱的创新,无论是钉钉还是手淘对此都很重视。但困难比重视更重。钉钉工程师将钉钉的 SDK 集成到了手淘当中,加上手淘自己的 SDK 和旺旺的 SDK,客户端架构不堪重负。2018 年 318,“天地汇”项目的成果上线,实践了一段时间,这个项目逐渐停止。

2019 年,统一 IM 的重任一来,钉钉的工程师们就明白,是时候重新发起与手淘集成的打通的攻坚战了。

统一 IM 的项目命名为“巴拿马”,顾名思义,就是要在阿里众多应用之间修建一条能让消息流动起来的“运河”,首先被打通的就是阿里的核心应用手机淘宝、千牛,随后阿里生态内的其他应用的消息能力也大都一一由钉钉 IM PaaS 承接。

“巴拿马”项目的第一战,就是 “攻下” 手淘。

选择用户数最大、系统最复杂的淘宝,是阿里技术人的传承,“先搞定最大和最难的,后面的就不成问题”,钉钉第一年的目标就是要承接 2019 年双 11 淘宝 5% 的核心交易消息。

2019 年 4 月项目正式启动,9 月就要开始接受双 11 的压测和验收,留给他们的时间并不多。巴拿马项目的成员南星说:“这是最后的机会,如果再失败,钉钉可能此生都没有机会接入淘宝了。”

他们从 5% 看到了未来

前面提到的聚望,是巴拿马项目的负责人之一。他原本属于旺旺团队,整个团队一起并入钉钉 IM,联合钉钉和手淘大几十人团队一起再次发起了攻坚战。

还剩不到半年时间,两大挑战摆在聚望团队的面前。
 
挑战一:到底要为手淘打造一个什么样的 IM 平台?
 
虽然第一战要攻克的是手淘难题,但钉钉的初衷不仅是打通淘宝,而是做整个阿里巴巴的消息技术平台,所以他们既要满足淘宝对 IM 的定制化需求,同时也要建立一套可以支撑所有阿里生态内应用的通用技术架构。
 
搭建一套什么样的架构?实现哪些功能?哪些功能由淘宝自己的业务团队实现?这些问题像一重又一重的关卡摆在巴拿马团队面前。
 
挑战二由阳凯发起,阳凯从 2010 年就开始参与双 11 的技术保障,2018 年开始作为钉钉双 11 技术风险的负责人,同时也是双 11 钉钉的技术大队长,他的核心职责就一个词:保稳定。

对阳凯而言,在双 11 这种大考里换新系统,这就是最大的不稳定因素。“一个新系统要在双 11 承担 5% 的流量,还是核心交易消息,我是持怀疑态度和反对态度的。”阳凯说。人人都在兴奋,但在这场 “开着飞机换引擎” 的战争里,总要有人扮演一个 “演练失败” 的角色,让风险发生在事前,而不是双 11 中掉链子。

因此他几乎天天给聚望“泼冷水”,想方设法地提出可能出现失败的情况。“预案充分吗?新系统的性能承压行不行?为什么一定要在双 11 上,不能双 12 吗?”

压力来到聚望带领的巴拿马团队身上。这一次,巴拿马项目不再打算采用将钉钉集成到淘宝当中的方案,而是用钉钉的技术能力和创新能力搭建一套全新的技术系统 IM PaaS 平台。

对做了多年旺旺消息技术的聚望来讲,前一套方案是旺旺的升级版,但也仅仅只是升级版,要做就做大的。

聚望说:“我们希望为所有的业务提供一套高可用、高稳定性的消息平台,未来业务团队只考虑业务场景的创新,而不用担心底层的技术。”

此时的他,心中也有一个没有说出来的想法。从事 IM 平台技术多年,聚望知道单从技术上看,IM 系统的门槛不高,但一个独立团队想做到优秀,需要投入的人力、资源和时间,不亚于重做一套钉钉。如果这套消息平台做到足够成熟,未尝不可能有一天从阿里走出去,成为业界的的一个通用 IM 平台。
 
为阿里打造的消息技术中台,钉钉拿出了全部本领,在高可用、高稳定、高扩展的基础上,钉钉 IM PaaS 平台和存储团队合作开发,对存储模型进行优化,支持读写扩散、异地容灾、智能流量管理、同步平台升级、消息队列升级、SmartOps 平台等技术创新。
 
对消费者而言,他们并不知道淘宝、千牛、旺旺甚至淘特底层采用同一套消息平台。但不管是登录哪一个应用,钉钉的 IM PaaS 平台都可以保障多端消息同步。“即便重新安装,所有的数据都在。”聚望说。
 
2019 年 6 月,巴拿马项目各项功能开发完成,他们特意举办了一场 showcase 表演,南星导演,达野摄影,聚望策划,整个项目组的人在会议室里都显得十分兴奋。
 
南星说:“那一天就像是一座大桥的左右两边合龙,对钉钉和淘宝而言,都是一个重要的里程碑。”
 
大桥合龙后,还要经过无数次测试和真正的通行才能宣告成功。2019 年双 11,尽管阳凯从 9 月开始就不断的向他们发起挑战,但钉钉 IM PaaS 非常坚决,他们一定要在这一年承接 5% 的核心交易消息流量。
 
这一天终于来了。双 11 当天,光明顶灯火通明,即便是经验最丰富的阳凯也因为 IM PaaS 的上线感到无比紧张。消息链路某种程度比支付和交易更需要稳定,因为钉钉还担负着故障应急和内部协调的责任,承接 5% 的核心交易消息听起来并不多,但放在双 11 这一天却会影响上千万人。
 
假如双 11 当天,消息系统出问题会怎么样?聚望非常严肃地回答:“如果消息出问题,最坏的情况下,交易会下跌 20%。”

2019 年双 11 的 GMV 是 2684 亿,20% 是多大的体量,无需赘言。
 
因此钉钉 IM PaaS 团队必须谨慎再谨慎,他们从 5 万用户规模、100 万用户规模、1000 万用户的规模,2000 万用户规模,做了多次容灾演练,保障即便双 11 真的出现问题,也能从容的从新系统切回老系统。
 
万事俱备,但这一夜并不顺利。零点之前,按照预案,聚望团队为了提高双 11 系统的整体性能,撤掉了一些过度占用资源的防御性系统,但之后不久,意料之外的攻击出现了,消息系统遭到了大量运营类垃圾消息的冲击,“系统很快就要撑不住了,我们的神经更是如此。”
 
聚望立即组织团队现场写脚本进行攻防,将违规账号从系统出提出进行限制。直到熬过零点后的半小时,这激烈的消息系统保卫战才结束。战斗结束后,虽然作战室内没有人立即说话,但所有人都不约而同的松了口气。
 
所有人都知道 IM PaaS 这一仗,钉钉打赢了。

追着飞机换引擎

这一场胜仗的附带成果是,钉钉从 “备胎” 转正了。2019 年开始,参战双 11 的技术人员就不再建旺旺的备份群,因为钉钉已经实现了异地多活的高可用性和高稳定性。除了基础沟通,双 11 作战时,所有故障的监控预警、故障应急协同、应急快反全都依赖于钉钉,大部分的故障都可以依靠钉钉的协同系统自动化处理,从发现到处理甚至能做到秒级。

2019 之后的三年,钉钉悄无声息地逐步接管了更多的消息流量。到 2021 年,钉钉彻底给包括手淘、天猫、千牛等三十多款应用换上了新的消息底座,保障了千万卖家和数亿消费者的买卖沟通。
 
这一切在大众层面都难以感知,几乎没有人知道过去人们在淘宝内发消息时的底层软件从旺旺切换成了钉钉,但这并不是用户不够细心,而是钉钉刻意为之。

这是一群追着飞机换引擎的人。
 
参与巴拿马项目的工程师们将这个为期三年的项目,比喻成“开着飞机换引擎”,他们希望飞机上的乘客不会感到一丝颠簸,同时也让飞机运转效率有更大的提升。
 
今年 11 月 11 日,交易系统顺利抗住流量洪峰,钉钉的 IM PaaS 也成功抗住了 “60.69 万条 / 秒” 的消息峰值,阳凯松了一口气,悄悄掏出手机点击购物车,给自己一早添加好的商品结账。
 
参与双 11 技术作战超过 10 年,阳凯对阿里的技术保障系统越来越有信心“以前零点过后一个小时我们都不敢分心,但现在扛过前五分钟,我们就比较有信心了。” 
 
钉钉今年要负责承接双 11 的全量消息,IM PaaS 团队此前已经进行了 60 多次压测、容灾演练,128 个预案演练,通过了集团总共 4 次全链路压测验收。
 
双 11 是阿里的技术大考,但已经备战三年的钉钉,早已底气十足。
 


钉钉的“进化论”

扛住双 11 前 5 分钟的洪峰没有难倒钉钉,但钉钉的 “野心” 不仅如此。甚至双 11 的洪峰,也并不是钉钉面对过的最大挑战。

2020 年初疫情爆发,短时间内暴增的线上办公与上课,让钉钉消息峰值一度超过每分钟 2 亿条,而且这一次没有演练,也没有压测。所幸,经过双 11 的实战,以及阿里云紧急调度的计算资源,平稳度过。
 

疫情期间,在线办公、上课成为常态

曾经只是双 11 大战中最不起眼的配角,如今不仅抗住了双 11,还一次次地扛住了后疫情时代里,一次又一次的流量洪峰。
 
达野说,过去钉钉还小时,最紧张的是过年发红包时的流量峰值。但在经历了疫情期间三天扩容 16 倍,完不成就可能被全国人民骂上热搜的惊心动魄,作为一个亿级 DAU 的产品,钉钉见过了高处的风景,也磨练出了应对巨大挑战的责任心和能力。
 
“现在几乎隔一段时间就会经历一次双 11,比如最近寒潮,钉钉的流量峰值就一路飙升。”

但不管是达野,还是聚望、阳凯,乃至钉钉的每一位工程师,都已经能够快速的应对这些挑战,不再有第一年切换时的那种压力。

他们在历年的 “征战” 之中成熟,钉钉也在历年的打磨之中成长。
 
2021 年双 11,钉钉已经完成了双 11 阿里消息平台全面切换,内部协同、小二与商家、商家内部协同、商家与消费者的消息,一天数百亿条消息在钉钉打造的统一消息平台上传递信息,创造价值。但钉钉不再满足于只作为消息工具存在,以开放平台为使命的钉钉,渴望和阿里的电商业务紧密结合。

事实上,巴拿马项目立项不久后,钉钉 IM 的产品团队也同步接下了淘宝的另外一个难题,为其在应用层定制了一套高效的沟通工具,实现了以 200 个小二服务 400 万商家的效率奇迹,而且,这套产品能力沉淀下来,还可以在阿里其他业务中复用。
 
但钉钉并不会止步于此,他们的愿景是为每一家企业打造新生产力工具。IM PaaS 在阿里内部的实战是一次内部实践,未来还会有更多的 “巴拿马” 打通红海、地中海或者其他海域,帮助不同的企业完成数字化的进阶。
 
而且,这套支撑了阿里内及阿里生态中 100 多款应用的消息平台,已经演化为一套 PaaS 服务,向外界开放。也就是说,无论是客户还是创业者,都可以即开即用获取百万级并发的即时通讯。阳凯说,前几年的钉钉在技术上是一个吸收者,现在钉钉正在将类似 IM,这些经过双 11 检验的技术能力陆续开放出去,为用户创造更多价值。
 
从 PaaS 层、应用层到开放的技术平台,钉钉的工程师们仍在探索,在数字化浪潮里努力书写属于他们的传奇故事。
 

© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

登录查看更多
0

相关内容

钉钉官网-钉钉,是一个工作方式 钉钉,是阿里巴巴集团专为企业打造的一个专业通讯、协同办公平台, 帮助企业降低沟通与管理成本,提升办公效率,让数千万企业提前进入到云和移动办公时代。
无人机地理空间情报在智能化海战中的应用
专知会员服务
114+阅读 · 2022年4月14日
金融业数字化转型发展报告(2020-2021)附下载
专知会员服务
46+阅读 · 2022年4月4日
数字全景白皮书:2022年企业数字化技术应用10大趋势
专知会员服务
39+阅读 · 2022年2月16日
智能无人集群系统发展白皮书
专知会员服务
295+阅读 · 2021年12月20日
专知会员服务
26+阅读 · 2021年8月6日
专知会员服务
43+阅读 · 2021年6月30日
专知会员服务
86+阅读 · 2021年3月31日
德勤:2020技术趋势报告,120页pdf
专知会员服务
190+阅读 · 2020年3月31日
罗永浩到底给成都留下了什么?
创业邦杂志
0+阅读 · 2022年3月28日
钉钉只做一件事
36氪
0+阅读 · 2022年3月22日
戒手机成了生意?
36氪
0+阅读 · 2022年3月15日
互联网大厂2号人物
创业邦杂志
0+阅读 · 2022年3月3日
这届年轻人,不为情人节烧钱了
36氪
0+阅读 · 2022年2月14日
我已进入准过年状态,你呢?
人人都是产品经理
0+阅读 · 2022年1月17日
云片CEO林佳齐:只做颠覆式创新 | TGO专访
InfoQ
1+阅读 · 2021年12月16日
黑客帝国「上映」了,是用虚幻引擎5在PS5上跑的
机器之心
0+阅读 · 2021年12月11日
国家自然科学基金
33+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
2+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
14+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Model Reduction via Dynamic Mode Decomposition
Arxiv
0+阅读 · 2022年4月20日
Arxiv
15+阅读 · 2021年7月14日
Anomalous Instance Detection in Deep Learning: A Survey
Object Detection in 20 Years: A Survey
Arxiv
48+阅读 · 2019年5月13日
Arxiv
12+阅读 · 2019年3月14日
Arxiv
11+阅读 · 2018年5月13日
VIP会员
相关VIP内容
无人机地理空间情报在智能化海战中的应用
专知会员服务
114+阅读 · 2022年4月14日
金融业数字化转型发展报告(2020-2021)附下载
专知会员服务
46+阅读 · 2022年4月4日
数字全景白皮书:2022年企业数字化技术应用10大趋势
专知会员服务
39+阅读 · 2022年2月16日
智能无人集群系统发展白皮书
专知会员服务
295+阅读 · 2021年12月20日
专知会员服务
26+阅读 · 2021年8月6日
专知会员服务
43+阅读 · 2021年6月30日
专知会员服务
86+阅读 · 2021年3月31日
德勤:2020技术趋势报告,120页pdf
专知会员服务
190+阅读 · 2020年3月31日
相关资讯
罗永浩到底给成都留下了什么?
创业邦杂志
0+阅读 · 2022年3月28日
钉钉只做一件事
36氪
0+阅读 · 2022年3月22日
戒手机成了生意?
36氪
0+阅读 · 2022年3月15日
互联网大厂2号人物
创业邦杂志
0+阅读 · 2022年3月3日
这届年轻人,不为情人节烧钱了
36氪
0+阅读 · 2022年2月14日
我已进入准过年状态,你呢?
人人都是产品经理
0+阅读 · 2022年1月17日
云片CEO林佳齐:只做颠覆式创新 | TGO专访
InfoQ
1+阅读 · 2021年12月16日
黑客帝国「上映」了,是用虚幻引擎5在PS5上跑的
机器之心
0+阅读 · 2021年12月11日
相关基金
国家自然科学基金
33+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
2+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
14+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
相关论文
Model Reduction via Dynamic Mode Decomposition
Arxiv
0+阅读 · 2022年4月20日
Arxiv
15+阅读 · 2021年7月14日
Anomalous Instance Detection in Deep Learning: A Survey
Object Detection in 20 Years: A Survey
Arxiv
48+阅读 · 2019年5月13日
Arxiv
12+阅读 · 2019年3月14日
Arxiv
11+阅读 · 2018年5月13日
Top
微信扫码咨询专知VIP会员