【电商干货】双11技术史:支付宝曾差4秒就崩溃,今年可以喝红酒过
今天的天猫“双11”临近了。2016年的“双11”,支付宝交易峰值达到每秒12万笔,是前一年的1.4倍,但你可能意料不到:支付宝专门为此提供技术保障的不到30人。
“今年‘双11’,技术保障人员会降到十几人,到2019年,‘双11’将从一年一度的‘支付大考’变为常态化。”10月25日,蚂蚁金服副总裁、首席技术架构师胡喜告诉澎湃新闻(www.thepaper.cn)。在大家印象中,“双11”当天,阿里应该是所有员工严阵以待,公司里到处是帐篷、睡袋,桌上堆满“红牛”。“以前确实是这样,但现在越来越轻松了,希望今年不喝‘红牛’,能慢悠悠喝红酒。”胡喜笑称。
2016年的“双11”,支付宝交易峰值达到每秒12万笔,是前一年的1.4倍。
澎湃新闻了解到,三四年前,支付宝还要将公司80%左右的技术人员投入“双11”技术保障。更早的2010年,即“双11”启动第二年,支付宝当时几百名技术人员全部坐在电脑前。“一有问题立马要处理,不行就重启机器,容量不够就加机器,靠‘人肉云计算’撑着。”胡喜告诉澎湃新闻,可问题还是出现了,险些让支付宝乃至整个淘宝崩盘。
2010年“双11”前,支付宝的系统规划是按每年增长100%的余量预估的,即系统保持一倍余量。
“大家都觉得肯定够了,出现问题也可以等到交易量增长到一定程度时加资源。”蚂蚁金服首席技术官程立回忆,但当天零点刚过,交易量迅速攀升到平时最高值三倍,到7点还没有下降。
“我们意识到当天的交易量一定会远超系统容量。”程立说,所有技术人员如临大敌,开始不停“搬资源”,哪里有富余的计算资源就拿来应急,再不够就“砍业务”,把一些暂时可以牺牲的业务砍掉,将资源搬过来。
到23时59分30秒,眼看“双11”就要结束,支付宝核心账务系统突然报警。一名当时在场的技术人员向澎湃新闻描述:“嘀嘀嘀的警报声让每个人发急,负责数据库的同事冲过来喊‘资源马上耗尽!赶紧杀掉非关键应用!’”
那时,支付宝的账务数据库还没有拆分,而所有交易都经过虚拟账户,一旦核心账务系统出问题,支付宝所有业务都会停掉,数据库再想恢复要很长时间——出现这种情况,对淘宝和支付宝都是灾难性的。
几秒钟内,技术团队决定临时把一个会计系统的应用“杀掉”,腾出系统资源。
负责消息系统的技术人员争分夺秒地在机器上敲入一行行代码,紧急杀掉非关键应用。键入最后一行代码,将一个会计系统的应用“杀掉”,把资源释放出来时,离数据库崩溃只剩四秒。
“我们开始反思,支付宝怎么顶住每年‘双11’的业务量?”程立说,传统型构架已无法支撑,“双11”倒逼支付宝开始搭建云计算技术构架。
胡喜说,2010年是支付宝技术发展的拐点,“我们分析了整个业界架构,支付宝遇到的问题已不是任何现有业界技术可以解决的,必须自己趟出解决之道。”
从传统型构架向云计算构架过渡,支付宝花了三年,自主研发了中间件、数据库、大数据平台。这个云计算架构,使后来的天猫“双11”平稳进行。
“如果这件事做得晚一点,这几年的‘双11’就别想挺过来。”程立说,现在蚂蚁金服已开始研发下一代构架,是一个适应数据开放、互联、全球化的架构。
“2016年‘双11’的技术保障可以说毫无压力,理论上可以做到每秒百万级的交易支付能力,今年应该会更轻松。”胡喜表示。