《尽在双11——阿里巴巴技术演进与超越》
内容简介:
“双11”,诞生于杭州,成长于阿里,风行于互联网,成就于新经济,贡献于全世界。
从2009年淘宝商城起,双11已历经八年。每年的双11既是当年的结束,又是走向未来的起点。技术的突破创新,商业模式的更替交互,推动着双11迈步向前。
《尽在双11——阿里巴巴技术演进与超越》是迄今唯一由阿里巴巴集团官方出品、全面阐述双11八年以来在技术和商业上演进和创新历程的书籍。内容涵盖在双11背景下阿里技术架构八年来的演进,如何确保稳定性这条双11生命线的安全和可靠,技术和商业交织发展的历程,无线和互动的持续创新与突破,以及对商家的赋能和生态的促进与繁荣。
阿里巴巴集团双11技术团队 著
电子工业出版社 出版
图书试读:
引言
不知不觉中双11已经走过了八年,从刚开始的全新概念,到现在的举世关注,有偶然也有幸运的成分,但是细细数下来,每一步,每一刻,都是好多人殚精竭虑、费尽心思的结果。对技术而言,每一年的双11都是一场严峻的考验,从被流量冲击得溃不成军,被迫奋起抗击,到现在通过技术的力量不断改写双11的用户体验和参与感,阿里的技术伴随着双11成长起来,强壮起来,自信起来。
从组织上来说,双11从第一年的突发奇想,野生无序,逐渐发展下来,已经成为一场整个阿里及其生态联动的战役,双11已经不仅仅是天猫的双11,也不仅仅是阿里所有事业单位的双11,而是整个互联网生态的双11。
2009年我们技术部门只有几个人临时安排值班,高峰每秒只有400个请求,到2016年阿里有23个事业单位、几千位技术人员一起加入了双11的备战。杭州西溪园区1号楼的7楼、6楼和5楼都成为了双11的集中作战室,实现了每秒处理1.7万条请求的技术奇迹。为双11做出艰苦备战的还有商家、银行、物流公司,他们和我们一起迎接流量高峰的挑战,一起为了互联网更加完善的用户体验不断努力和前进。
面对新的挑战,我们从不敢放下的是对用户的敬畏和感激之心,借由本书,借由双11的历史,将阿里这些年在大流量管控上所做的技术创新共享给关注我们的朋友,并答谢所有双11的贡献者、参与者、传播者、提及者和知晓者。
2009年:双11诞生效果惊人
2009年是淘宝商城(淘宝商城:2008年4月成立,是一个高品质商品的综合性购物网站。2012年1月11日上午,淘宝商城正式宣布更名为“天猫”。)成立的第二年,这一年的秋天,运营部门想搞一场营销活动,逍遥子(逍遥子:现任阿里巴巴集团首席执行官,同时是阿里巴巴集团董事局董事。2008年逍遥子是淘宝网首席运营官兼淘宝商城总经理。)喜欢四个一,而11.11又是网民创造的“光棍节”,所以就选择了这一天。谁也没有想到,这样一个带着点随意的选择,竟然在若干年后成为影响中国乃至全球的大事件,造就了电商行业最具影响力的品牌——双11。
第一届双11的活动口号是全场五折,拉了几十个商户参加,未曾想效果惊人,淘宝商城的成交额是平时的10倍。幸运的是,在2009年年初,五彩石项目将淘宝网和淘宝商城的系统底层架构统一了。虽然淘宝商城的成交额增加10倍,但由于基数还比较小,这个成交额和淘宝网的日常成交额比起来并不大,因此系统上虽然出现一些小问题,但是没有产生特别大的影响。
尽管如此,暴增的流量还是让工程师们措手不及。采访当年第一届双11的工程师四虎(四虎:2007年加入阿里,参加第一届双11的开发,连续参与双11八年,现在是聚划算技术负责人。)时,他回忆说:“第一年双11,作为交易系统的owner(所有者),接到老板指示,光棍节要搞个活动,你值一下班。那年我们啥都没做,就坐在那看服务器的情况。零点一到,发现服务器流量暴增,一下子部分应用的服务器就挂了。我们就手忙脚乱地去重启服务器,恢复系统。应用系统起来后,发现店铺和商品图片又出不来了。第一次双11,可以说完全是意料之外,没有做任何准备的,不仅把我们的交易和商品系统压挂了,同时还把很多商家的外部图片空间也给压挂了。服务器容量、网络带宽容量、系统保护都是没有的。”
2010年:搜索降级渡难关
吸取了上一年的经验,2010年双11之前,技术部门专门成立了大促小分队,队员包括各个核心系统的开发人员和技术保障部软硬件维护人员,当时还成立了大促指挥团,由振飞(现任阿里首席风险官。2010年任技术保障部副总裁。)、周明(现任基础架构事业群资 深 总监。2010年任技术保障部总监。)、范禹(现任天猫事业部技术部资深总监和研究员。)统一负责大促技术方案的相关决策。
负责保障稳定性的人员在指定地点集中办公。那一年,高峰不在零点,而是出现在第二天白天,早上10点左右,CDN的容量很快达到上限,图片展示越来越慢,眼看就要出不来了。大家紧张起来,激烈地讨论还有什么办法。有人提出搜索的图片展示占了很大的容量,可以将搜索的大图降级为小图。然后给搜索的负责人打电话,通知他:“对不起了,我们要对搜索的图片降级了,双11结束就给你们恢复过来。”这一招帮助当年的双11渡过了容量的最大风险。之后,每一年的搜索大图降级为小图都成了双11的必备降级方法之一,尽管后面再也没有启用过。同时,每一年双11之前CDN都会开一个大会,让所有业务评估自己双11当天的CDN使用量,提前两个月就开始做扩容的准备。“所有的苦难都是用来帮助我们成长的”,这句话用在双11上特别合适。
四虎回忆第二年的情景:“第二年,我们开始有了心理准备,预计流量是平时的3~5倍,但是实际流量远远超出我们的想象,达到了平时流量的十几倍。不过基于前一年的经验,这一年我们做了很多工作,分布式系统的防雪崩、核心系统的自治,这些技术改进让我们的系统比上一年好了很多,虽然零点高峰时还是出现了大量的购买失败,但是服务器没有大面积宕机,流量下降后能够继续良好地服务。”
从2010年开始,为了双11的顺利进行,阿里每年都会任命一个双11技术部团长来整体负责双11技术的稳定性工作。在团长之下,会成立一个大促小分队,然后在各个事业群选拔最合适的同学作为各个事业群的队长。队长在负责本BU技术工作的同时,还负责和其他BU进行联动和消息共享沟通。队长通过周会的形式来互报进度和风险。为了双11当天的稳定,每年都会安排4至6次的功能回归演习和全链路压测验证工作,这些工作会在几十个事业群中同步进行。通常参加一次全链路压测的技术人员都会在300人以上。
这么多年双11下来,有些人好奇:“做了这么多年了,该准备的都准备好了,为什么每次技术部还那么紧张啊?”听完了这些历史,也许能有一丝明白,每年的双11,我们的玩法都在变化,我们的流量不断挑战高峰,我们的技术也在效率和创新上实现着自我突破。双11没有一年不辛苦,没有一年不紧张,没有一年不需要加班熬夜通宵,没有一年不是战战兢兢。有人在解决问题时一边哭泣一边写代码;有人在双11结束的第二天就会去找主管“我明年再也不要干双11了”;有人由于身体或者家庭的原因申请离开。但庆幸的是,每年都会有更多的人加入进来,带着新的热情和梦想,明知路难行,明知山有虎,但总需要有那样一群人,咬着牙,红着眼,在再大的压力下,在再苦的环境下,在已经通宵神志不清的情况下,把问题一个个解决掉,然后笑着告诉大家:“今年我们一起又把双11扛过去了。”
这是我们阿里技术对所有用户的态度,我们不完美,我们会犯错,我们没有提供给用户最好的体验,我们很抱歉,我们会在深夜哭泣,哭泣我们不小心的遗憾,哭泣我们一个疏忽给用户带来的严重影响。但是我们在努力,我们在前进,我们在错误中不断反思,继而成长。感谢这些年用户对我们的接纳和信任,请相信我们在努力。也借这本书答谢所有参加过双11的朋友们,谢谢你们对我们的信任,我们会带着这份信任一路前行,让中国互联网的声音响彻全世界。