每年双11前后,知乎总会出现这样的提问:
如果双11当天,阿里的数据中心同时断电断网/被黑客攻击,是不是就不用付尾款了?
要是支付宝炸了,就不用还花呗了?
足以见得,当代人在双十一过后,钱包被洗劫一空的拮据状况。
但笔者不得不说,想象一下晚上回家买彩票中个5块钱,都比想这个靠谱。
到2020年,双11已经走过了整整11个年头,双11这个越来越受到重视的节日,成就了一次次奇迹般的流量高峰,也倒逼了阿里历史上的很多次业务改革。
2009年的第一次双11,只是淘宝商城临时决定的一次活动,彼时,程序员们还没有感受到双11的威力。
但2010年,双11给平台带来的流量一下涨了好几倍,服务器根本就撑不住。阿里只能将支付宝系统一再“瘦身”,只留下核心的支付通道,才总算扛了过去。
想象一下,如果说我们平时的网购,是分散在不同时间点,所点燃的一团团火焰,那么双11,就是所有的火集中在同一时间点燃,是一场爆炸!
此后,双11不断倒逼阿里巴巴的技术成长。
为了支撑双11的流量,支付宝一个不到100人的团队,研发出了可代替甲骨文数据库的OceanBase数据库。
而自从去年双11核心系统100%上云后,飞天云操作系统、神龙服务器集群、中台等数字新基建还在不断升级,峰值已经不再是双11最大的技术挑战。
而对系统最顶级的考验,其实是断网断电。
2013年,杭州将近40℃的高温,让阿里系统警铃大响。
当时,全城的电力供应极度紧张,阿里的服务器机房又是耗电大户,拉闸限电的威胁迫在眉睫……
如果当时有人问,阿里的服务器机房停电,会不会对用户产生影响?得到的答案或许就不一样了。
2000年,美国8大网站遭到攻击,部分停顿高达3天,损失总额达到12亿美元;
2009年,机场EMC系统硬盘损坏,导致台北桃园机场宕机36小时;
2013年,由于电脑系统瘫痪,伦敦交易所停盘将近7小时。
阿里绝不能成为反面案例中的一份子,于是进一步完善灾备系统的搭建,以应对断电、断网之类的引起系统非正常停机的“灾难”。
世上第一个建立灾备中心的IT公司——SunGard的主席罗伯特·博格尔曾说:任何计算机事故发生后的4小时之内,我们的备份都能让你再次上线,并平稳运行210天。
如今,阿里已经把故障修复时间,缩短成了10分钟。
就在11月11日晚,阿里巴巴CTO程立公布了一段实录视频。
11月5日凌晨,在一轮全链路压测结束后,技术人员们该吃饭的吃饭,该休息的休息。
然而,凌晨两点左右,有人在背后开始悄悄“捣鬼”,直接按下了最高级别的突袭键。
网络故障注入成功后,中心交易下单直接跌0。
简单来说,就是在这一两分钟的时间内,系统会告诉下单的用户,由于限流或类似的报错,无法成功下单。
但是很快,应急小组就启动了紧急响应处理,完成了主备切换。在遭受攻击后的第1分28秒,故障修复,网络恢复。
紧接着,第二次攻击又来了,有人一声令下:“现在执行断电。”
一瞬间,办公大楼照明全灭、空调停转。几乎同一时刻,灾备系统自主启动,蓄电池立刻为服务器供电,仅仅4秒钟,一切都恢复了正常,业务丝毫未受到影响。
发动这两次攻击的,不是别人,正是阿里巴巴合伙人、双11新零售技术负责人吴泽明(花名范禹)。
这则视频,正好回答了知乎上的提问:
就算蜘蛛侠火力全开潜入了阿里的配电房,就算顶级黑客侥幸杀入了阿里的数据中心,该付的还是得付。
而且,即使阿里正好在双11的0点断电,你也可以冲一冲前100名半价。
这一切,都要归功于阿里的灾备系统。
首先,在断网的情况下。
阿里巴巴早在好几年前,就开始研究“异地多活”技术。
阿里已经建立了多个跨地域的数据中心。简单来说,就是阿里已经找好了多个、且遍布全国各地的“备胎”,任何一个出问题,其他数据中心分分钟可以接管。
就算有人吃饱了没事干,抬着施瓦辛格的大炮,把阿里杭州的数据中心一炮轰了,影响也不大。
其次,在断电的情况下。
我国的A类电子信息系统机房,都配有后备柴油发电机系统,切断电源后,柴油发电机会立刻开始发电,支持满载12小时以上。
退一万步说,就算柴油耗完了,阿里至少还和附近的两个加油站签订了协议,在4小时内为数据中心供给柴油。不仅有Plan B,甚至有Plan C!
在阿里的技术系统中,有一个特别的机制——红蓝军对抗。
蓝军负责生产弹药,红军负责抵御突袭,双方在一次又一次的演练、对抗中共同成长,就连故障恢复机制都形成了“1-5-10”的方法论,在1分钟内发出警报、5分钟内定位故障、10分钟内修复故障。
蓝军为了突袭,也是拼尽了全力,甚至还专门设置了App,串联了阿里巴巴经济体的各种技术框架和业务,将其简化成一个按钮,就是为了打红军一个出其不意。
这次双十一前的突袭,就来源于吴泽明轻松按下的“最高级别突袭键”。
截至今年双11,红蓝两军已经交战了164次。
一方想破头“找茬”发起进攻,一方拼了命抵御突袭,这种典型的“我打我自己”战术,正印证了尼采的那句话:杀不死我的,必将使我更强大。
今年的双11,携58.3万笔/秒流量洪峰如约而至,GMV4982亿,增速26%,长达11天的双波峰以零故障完美收官。
面对阿里这么一个庞大的系统,平常我们使用时,只关注体验够不够流畅,功能够不够齐全,等你想深入到其背后一探究竟时,才细思极恐:原来保障一个系统的正常运转,要耗费如此大的心血。
不然你以为,程序员们为何会996?为何会头秃?又如何实现财富自由?
作者:刘峰