几百个顶尖工程师疯狂研发奋战一年,只为那一个给你带去欢乐的夜晚~
一年一度的双十一在9亿多网民的“剁手”呼声中落下帷幕,买买买的你们开心了吗?卖卖卖的你们开心了吗?双十一被称为电商界的奥运会,每年都创下交易记录新高的阿里巴巴集团是怎样打赢这场“硬仗”的呢?
在杭州市西溪园区7号楼,”光明顶“办公室,核心200多个员工,一起在技术团队的作战指挥室里给这个中国最大的商业帝国提供核心保障。
2018年11月10日23点45分,阿里巴巴光明顶技术作战中心,霜波拿起话筒,“还有15分钟”,现场立刻安静下来。“目前,各项数据指标正常”、“还有5分钟”“还有1分钟”,每隔几分钟,她间或说一句,面色平静,语气平缓,音量不大。
零点一过,淘宝流量以肉眼可见的速度暴涨。第一个数字产生:2分05秒,双11交易流水过100亿。GMV背后是更庞大的交易笔数,交易后发生的取消、合并订单等等。数据显示,今年双11每秒订单创建峰值达到49.1万笔。
每年双11,阿里巴巴的组织形式是这样的:委派一个团长,负责整体牵头;团长下面设立三个大队长;大队长下面有各个分队长。今年双11,不仅有天猫淘宝等核心电商部门参与,还有饿了么、口碑、居然之家等,需要协同的BU繁多。
这样的机制,会让各个业务都抽调一个队长、副队长加入。这些队长、副队长在自己的内部又会成立一个双11的团队,金字塔结构保证项目稳定。双11是整个集团最核心的问题,所有的BU都必须服从于双11的优先级调配排序。
技术部的考核标准是交易峰值。去年交易创建的峰值在30万QPS以上,今年承诺在40万以上,QPS指每秒查询率,即对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
双11十年,阿里巴巴代表了电商行业最先进的技术力量,每年双11爆发性的峰值又是整个技术团队的练兵场。霜波自己在这场硝烟和战火中成长,手下带的团队也从最开始的50人,到现在的160人左右。
双11当天,一直到下午6点,会有各种降级预案。对于一些对用户影响不大,但是又非常消耗性能的东西,技术团队会把它降级掉。即使是最稳定的时候,也差不多都要处理到早上6点半。
下半场时候,技术团队才开始自己看看购物车,买点东西。霜波的策略是:全家列一份销售清单,零点的时候让老公去抢。
2011年淘宝商城成为独立的事业部,双11对于刚刚成立的淘宝商城技术部已经是一件相当重要的事情,各团队提早几个月就开始准备,并且上线了第一期的价格申报系统,完成了双11的商家商品报名的工作。
2012年,集团从5月份开始启动双11项目。当天晚上整个集团的核心技术几乎都All in在双11。每个核心人员做好各种预案手册,当天晚上全神贯注就等着零点的到来。
各种系统报错、立刻下单报错、购物车支付报错、支付系统报错、购物车的东西丢失,系统显示交易成功率不到50%。系统排查的大部分指向都是一个错误——取不到商品信息了。再进去看,商品中心系统的网卡被打满了,无法再响应请求。情况紧急。
商品中心开启了事先准备的降级方案,但效果并不明显。降级手段包括降低图片像素质量、减少旺旺亮灯等。大约在1点左右,系统流量峰值慢慢缓和,系统才慢慢恢复到90%以上。
另一个发生问题的是支付宝的健康检查系统。和所有系统的自我保护系统一样,这个健康检查系统会定时扫描线上机器,根据机器应答返回时间判断是否正常,将超时严重的机器在应用列表中剔除。只是在双11的流量之下,几乎所有机器都发生了响应过慢的情况,然后大部分机器都被剔除了出去。
霜波所在的团队快速下线了这个系统,支付成功率重新回到了正常值。在1点之后,系统各项指标都恢复了,她心情才稍稍轻松了一些。
双11在逼着霜波和团队成长。
刚开始,霜波自信地认为,原先有那么多方法,做过那么多测试(统测试、单元测试、接口测试、用户测试、线上演练、性能测试、破坏性测试),所有方法都用尽的时候,是可以保障双11稳定的。但结果,2012年双11的技术指标显示,它是真的失败了。团队不得不做创新。
在当年双11结束后的复盘会上,所有技术同学达成了一个共识,一定要有一套系统能够最真实地模拟双11当天的流量,能够及时发现大压力下线上系统的所有问题和风险,保障双11的零点体验。
所以到2013年,霜波集合了各个BU创造了一套全新的压测系统:全链路压测。这个工具在2013年上线之后,第一年压测出了600多个问题。但从2013年开始,双11就没有出现过大的问题。
外界可能并不了解全链路压测在行业中的意义,是这套系统让双11的技术有了本质的飞跃。它能够安全模拟用户在双11当天的流量行为,提前预知双11当天可能会发生哪些问题,然后把它修复掉。这让整个阿里巴巴技术体系上了一个台阶。
大部分时候,霜波制定了计划都需要严格执行,手机得随时保持开机。双11值班时,不止是24小时,前面的12个小时肯定也是在的,这36个小时基本上就不会回家了。处理完事情,如果能睡的话,她可能才会睡上两个小时。