一边哭泣一边写代码,是种什么感受?

简介: 《尽在双11:阿里巴巴技术演进与超越》一书发布后,得到了众多开发者的支持和厚爱。刚交付首批书后的第三天,印刷厂就连夜开动机器,紧急加印。因为没到两天,书就卖断货了! 《尽在双11:阿里巴巴技术演进与超越》 精 彩 引 言(by霜波) 不知不觉中双11已经走过了八年,从刚开始的全新概念,到现在的举世关注,有偶然也有幸运的成分,但是细细数下来,每一步,每一刻,都是好多人殚精竭虑、费尽心思的结果。

《尽在双11:阿里巴巴技术演进与超越》一书发布后,得到了众多开发者的支持和厚爱。刚交付首批书后的第三天,印刷厂就连夜开动机器,紧急加印。因为没到两天,书就卖断货了!


《尽在双11:阿里巴巴技术演进与超越》
精 彩 引 言(by霜波)


image

不知不觉中双11已经走过了八年,从刚开始的全新概念,到现在的举世关注,有偶然也有幸运的成分,但是细细数下来,每一步,每一刻,都是好多人殚精竭虑、费尽心思的结果。对技术而言,每一年的双11都是一场严峻的考验,从被流量冲击得溃不成军,被迫奋起抗击,到现在通过技术的力量不断改写双11的用户体验和参与感,阿里的技术伴随着双11成长起来,强壮起来,自信起来。

image
双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人以上。

image

这么多年双11下来,有些人好奇:“做了这么多年了,该准备的都准备好了,为什么每次技术部还那么紧张啊?”听完了这些历史,也许能有一丝明白,每年的双11,我们的玩法都在变化,我们的流量不断挑战高峰,我们的技术也在效率和创新上实现着自我突破。

双11没有一年不辛苦,没有一年不紧张,没有一年不需要加班熬夜通宵,没有一年不是战战兢兢。有人在解决问题时一边哭泣一边写代码;有人在双11结束的第二天就会去找主管“我明年再也不要干双11了”;有人由于身体或者家庭的原因申请离开。

但庆幸的是,每年都会有更多的人加入进来,带着新的热情和梦想,明知路难行,明知山有虎,但总需要有那样一群人,咬着牙,红着眼,在再大的压力下,在再苦的环境下,在已经通宵神志不清的情况下,把问题一个个解决掉,然后笑着告诉大家:“今年我们一起又把双11扛过去了。”

image

这是我们阿里技术对所有用户的态度,我们不完美,我们会犯错,我们没有提供给用户最好的体验,我们很抱歉,我们会在深夜哭泣,哭泣我们不小心的遗憾,哭泣我们一个疏忽给用户带来的严重影响。

但是我们在努力,我们在前进,我们在错误中不断反思,继而成长。感谢这些年用户对我们的接纳和信任,请相信我们在努力。也借这本书答谢所有参加过双11的朋友们,谢谢你们对我们的信任,我们会带着这份信任一路前行,让中国互联网的声音响彻全世界。


这就结束了?好像漏了什么

细心的童鞋或许已经发现了,这篇序文为何缺少了“2011—2016年”双11的回顾。

事实上,从2011年的“匆忙中解决突发事件”到2015年“移动端购买率大大提升”,再到去年实现云化,一路诞生了无数精彩的故事和技术突破,这一切你都能在《尽在双11》书里感受到。

原文链接

相关文章
|
6月前
|
算法 小程序 C语言
学习编程一年的感受
学习编程一年的感受
|
7月前
|
弹性计算 Java Maven
我的感受
云效流水线Flow是Java&Maven项目理想的CI/CD工具,以其直观界面、全面功能和阿里云的强性能支持脱颖而出。它简化了新用户的学习过程,无缝集成阿里云ECS,且允许自定义构建脚本,提供高开放性和定制化。尽管非阿里云服务集成有改进空间,但对已有阿里云基础架构的团队,Flow在成本效益和满意度上表现出色,推荐给寻求深度集成解决方案的团队。
80 0
|
搜索推荐
感受-体会
oeasy的视频丰富多彩,不一样的视频,也是让人感触颇多,也是给人留下一种思考
52 0
|
弹性计算 运维 安全
使用感受
一,阿里云服务器的稳定性很好 虚拟主机是很多用户建站的首选方案,这种方式是很多用户同时使用一个服务器,因此如果一个网站受到攻击,所有其它的网站都会受影响,所以空间的稳定性将大大降低。但是使用阿里云服务器就没有这种情况,因为阿里云服务器是一种集群式服务器。 二,响应速度更快 阿里云服务器使用多线互通的的带宽,其响应速度是非常快的。 三,更安全可靠 对用户来说,服务器的安全十分重要,十分担心其出现故障,一旦出现故障,网站就无法正常运行不会正常。阿里云服务器则不会出现这类情况,即使网站出现了运营的问题,也可以自动转移到其它机器,黑客也就很难攻击了。 四,更方便使用 对于一些中小型企业,不断扩展深入。
|
算法 安全 项目管理
感受
1.自我情况 2.使用过程 3.心得体会
|
前端开发 JavaScript NoSQL
第一次使用感受
尝试将自己的个人博客项目部署
第一次使用感受
|
SQL 数据可视化 Java
我来感受阿里云
我来感受阿里云
|
存储 前端开发 JavaScript
学生学习使用感受
使用学生机学习web项目部署