不过除了一整天都忙于扩容的同学之外,当时支付宝的大多数人都对这场促销并无感知。“事后才知道前一天有促销,同事说流量有点猛。”现在已成为蚂蚁金服研究员的李俊奎说,运维负责人很紧张地在第二天的复盘会议上提出“抗议”:“淘宝商城那边在搞什么?支付量一下子提升了这么多,万一我们提前准备的量不够,就危险了。”
淘宝商城搞了什么?站在今天回头去看,他们只是搞了一件不算很大的事:在“光棍节”当天,联合27个品牌做了一场促销活动,单日GMV 5000万。
当时没有任何人能够预计这个促销活动日后会成长为什么模样,不过支付宝从数据的增长之中嗅到了山雨欲来的气息:这个活动带来的交易峰值超过平日的5倍,虽然这次平稳过关,但已经逼近了当时支付宝的承载极限。
2010年的年中刚过,支付宝就去跟淘宝商城通气:去年那个促销,今年还搞吗?淘宝商城说,搞。
好汉不打无准备之仗,如何筹备“双11”被提上了支付宝每周稳定性会议的议程。首当其冲的是要准备充足的容量。但是按多少准备呢?谁都没经验。
“拍脑袋估个数据,然后按预估数据乘以三去买机器,简单粗暴。”李俊奎直言不讳。
为了检验这样拍脑袋的决策行不行,他还和团队一起搞了个测试:通过手动更改配置,把多台机器上的流量导到一台机器上,测试一台机器的能接住多大的流量。“现在想起来,那就是压测最早的雏形。”
他们甚至准备了一个备用的工作联络群。当时还没有钉钉,工作群都搭在旺旺上,“万一旺旺服务器也出问题了,不能及时联络怎么办?”
筹备的时间虽不长,倒也方方面面都有兼顾,“但是不管事先做了怎样万全的准备,每年总有意外发生。”金融核心技术部工程师赵尊奎说。他当年所在的团队是账务会计组,一举一动都关系到钱,丝毫不容有错。
意外真的来了。
11日凌晨,促销活动刚开始不久,支付宝的账务数据库就容量告急。
病来如山倒。发现问题时,状况已经十分危急,“只能再撑几分钟!”运维心急如焚,如果不能马上找到解决办法,支付宝就面临宕机风险,交易链路一断,谁也买不成。
怎么办?运维把心一横,说,砍了会计系统吧,给核心的账务系统腾空间。
时间已经容不得多加斟酌,一群高管站在背后,支付宝中间件团队的工程师蒋涛感到前所未有地紧张,“操作的时候手都在抖。”
这个当机立断的决策将支付宝从距离宕机只差几十秒的悬崖边挽救了回来。事后的数据显示,2010年的双11,参与用户达到2100万,总GMV达到10亿,是上一年的20倍,这是任何人都很难在事先预估到的涨幅。