乐趣区

关于java:阿里突遭断网断电双11最惊险一幕刚刚曝光

2020 年 11 月 11 日晚,又一年天猫双 11 狂欢靠近序幕。

新交易纪录、新流量峰值,一切都是美中不足的样子。

此时,阿里巴巴 CTO 程立(鲁肃)才将一段实录视频公之于众——

11 月 5 日凌晨,阿里技术高低实现双 11 大考期间最初一次全链路压测后劳动和交接间隙……服务器间断遭逢了两次攻打。

第一次,凌晨两点左右,监控大屏显示四个地区数据中心数值迅速上涨,技术保障团队启动紧急响应解决,确定遭逢了断网攻打。

紧接着第二次,2:10,更厉害间接的攻打来了。华东区域某个数据中心,间接被拉闸断了电……

但最令人震惊的是,这所有竟然是阿里巴巴合伙人、双 11 新批发技术负责人吴泽明(花名范禹)干的。

突然袭击,实弹攻打

这不是当时明确的一次突袭。

甚至只有范禹和霜波——阿里双 11 技术大队长、技术平安生产负责人陈琴“小范畴”晓得。

然而即便如此,陈琴看到这次断网攻打时还是吓了一跳,因为与之前约定的攻打量级并不合乎。

过后,明面上压测曾经完结,参加的阿里技术工程师们,有的在进行夜宵补给,有的在工位上小憩劳动,对于这次意料之外的实弹攻打,没有一点点防范。

庆幸的是,技术保障高低训练有序。迅速锁定故障源头,启动应急计划,紧急开展修复……

仅 1 分 28 秒,所有如故。

甚至如果恰好有在那时下单的用户,都难以觉察有过“抖动”。

对于阿里技术高低,尽管事出忽然毫无防范,但对于这样的突袭应答,未然肌肉记忆一样……因为在阿里,这种突袭早已广泛而日常,还有专门因而造成的红蓝军反抗。

蓝军负责设计突袭弹药,常在不经意间发动突袭。红军则须要在极短时间内修复故障。

对外,这种技术突袭和红蓝反抗始终鲜为人知。

对内,无数次突袭和演练之后,连故障复原机制都造成了“1-5-10”的方法论,即在 1 分钟内收回警报、5 分钟内定位故障、10 分钟内修复故障。

这也是阿里敢将可用性指标晋升达到 99.9999% 的底气所在。

之所以能如此准确,就是因为一次次突袭演练之后得出的后果。

阿里外部,还将这种红蓝军的偷袭与防守,类比为对系统打疫苗。

成心在可控半径内将故障注入零碎以测试零碎的响应,相似于将大量有害物质注入体内激发免疫反馈以避免将来疾病。

这仿佛很疯狂,但能让公司提前为包含宕机在内的各种故障做好筹备,将其影响降至最低。

甚至还有更疯狂的行动。阿里为这种突袭专门设计了 App,简化成一个“按钮”,串联了阿里巴巴经济体的各种技术架构和业务伎俩。

不便随时随地,按下按钮实现突袭。

它可能产生在任何时候,比方,某一次会议完结后所有人都处于放松状态时。

这次双 11 前的突袭攻打,就呈现在范禹闲庭信步走出“光明顶”时——双 11 外围作战室内没人觉察异样。

有外部工程师把这种偷袭演练与马斯克 SpaceX 那次出名的“事变逃逸”演习类比。

外围都是以实在可能产生的事变,来理论测验本身的技术和应急保障机制。

你听过混沌工程吗?

Chaos Engineering,混沌工程。

被称为“成心毁坏的艺术”,次要通过被动制作故障,测试零碎在各种压力下的行为,从而辨认并修复故障问题,以此进步生产环境中零碎的容错性和可恢复性,最终实现零碎弹性的晋升。

在硅谷科技公司中,混沌工程曾经有过实际。

2010 年,Netflix 团队开发出了 Chaos Monkey——混沌猴子这个工具用于测试零碎。

模仿一只厌恶的猴子,在零碎中随机地位上蹦下窜,不停捣鬼,直到搞挂你的零碎。

随后的几年里,Netflix 还将混沌猴子在 GitHub 上开源分享,并指出这种随机故障测试,对测试分布式系统的稳定性有传统形式难以超过的劣势。

在这样一整套原理根底上,混沌工程师这样的岗位开始在硅谷呈现,角色和性能如这次阿里对外公开的蓝军,把这种随机破坏性攻打,变成一种日常测试伎俩来晋升本身的抗灾能力。

混沌工程是一种专门的实践,实质上是一种反软弱的思维。

如果再往上追溯,哲学源头能够找到尼采——杀不死我的必使我更弱小。

而对于阿里来说,混沌工程思维理念,与技术稳固体系需要不约而同,与阿里异地多活、容灾容错的倒退需要符合在一起。

实际上从 2010 年左右,阿里电商域开始尝试故障注入测试的工作,开始的指标是想解决微服务架构带来的强弱依赖问题。

起初通过多个阶段的改良,最终演进到 MonkeyKing 线上故障演练平台。

作为阿里团体应用宽泛的混沌工程平台,MonkeyKing 岂但帮忙很多业务团队进行故障演练,晋升了业务稳定性,同时也撑持阿里团体外部定期的联结演练流动。

2019 年开始,还开始在小范畴生产环境内推动突袭演练,并对外开源了阿里巴巴混沌工程工具 ChaosBlade。

而这次双 11 前夜的突然袭击、断网断电,实质也是混沌工程的一次实际。

即使双 11 这样的节点里,显得异样惊险,但对于阿里来说,拥抱混沌工程,搞出红蓝演练,也是业务倒逼的后果。

被逼出来的阿里

阿里历史上很多业务改革,都与双 11 密切相关。

比方异地多活,起初就是因为双 11 很火,流量带来扩容需要。

阿里团体 CTO 程立就回顾说,2009 年第一次双 11,因为是淘宝商城长期决定搞的流动,技术侧还不太有感觉。

但 2010 年,双 11 流量一下子涨了好几倍,服务器基本不够用……过后在支付宝的程立,亲身经历了把支付宝零碎一再瘦身,只留下外围的领取链路,才总算扛过了那次交易洪峰。

而其后对于每年迎来新纪录流量洪峰挑战的双 11,阿里开始在平时倒逼改革。

另外,也有一些意想不到的天下大乱,带来容灾警醒。

2013 年夏天,因为杭州 40°低温酷暑,全城电力供应极度缓和,而阿里的服务器机房又是耗电小户,拉闸限电的威逼火烧眉毛,一旦机房停电,业务就关门大吉了……

上述等等经验,让阿里技术意识到,不能再等到下一个低温酷暑的夏天,不能再等到下一次人祸教训,再来思考如何保障业务稳定性。

也不能漠视地区中的物理灾祸,影响到线上数以亿计的用户。更不能因为基础设施的限度,妨碍快速增长的业务。

所以先是解决同城多活的挑战,其后又进一步解决异地多活的世界难题。

都是面对问题和挑战,倒逼进去的翻新。

实际上,这种倒逼出翻新的案例,在阿里倒退历史上亘古未有,例如支付宝研发 OceanBase,阿里云研发飞天云操作系统……

当年为了撑持双 11 的流量,支付宝一个不到 100 人的团队,研发出可代替甲骨文数据库的 OceanBase 数据库。

往年,在去年双 11 外围零碎 100% 上云后,程立走漏——阿里把全副身家性命放到云上,飞天云操作系统、神龙服务器集群、中台等数字新基建还在一直降级,技术的沟沟坎坎几近解决,应答峰值不再是最大技术挑战。

消费者的激情越来越高,倒逼阿里技术继续进化。

而混沌工程和突袭打算,也是这种倒逼着进化的一部分。

互联网自身就充斥了未知和不确定性,例如低温、洪水、台风、暴雨、地震、雷电等自然灾害以及人为操作失误等种种黑天鹅事件,都可能对业务造成重大打击。阿里敢在双 11 期间对业务零碎发动各种高危故障,这种自信源自成熟的突袭机制,而底气则来自阿里云十年来搭建的灾备体系。。

Gartner 就曾预测过,2020 年,90% 的容灾操作会产生在云端。尤其是大型云服务商,数据中心都遍布寰球,是企业人造的异地灾备核心。

而阿里云的云灾备能力无疑处于云厂商第一营垒。

阿里云曾率先在业内提出数据中心的“四个不”准则,即不在同一火山地震带,不在同一水系,不在同一电网,不在同一运营商网络进口。这是传统企业所不具备的硬实力。

另一方面,阿里云的灾备能力全面涵盖了网络、数据库、存储等畛域,这是能应答各种故障的软实力。

举个栗子,在存储畛域,阿里云凭借存储高可用等能力,继续三年入选 Gartner 寰球云存储魔力象限,并且被列为寰球领导者位置。

所以只有兼具软硬实力,能力最大水平地保障业务和数据稳固平安。这也是阿里敢把全副身家性命都放在云上的起因之一。

甚至这种「最大水平保障」,还须要思考到被断网断电的极其场景……

所以,拉闸断电的攻打胜利了吗?

11 月 5 日凌晨 02:10,阿里华东区域某一数据中心被外部拉闸断电。

霎时,蓄电系统启动……服务器供能无缝切换,未受一丝影响。

4 秒钟后,柴油发电机群启动。电力完全恢复供给,数据中心运行如常。

阿里云灾备体系,至此交了满分答卷。

举荐浏览:

为什么阿里巴巴的程序员成长速度这么快,看完他们的内部资料我顿悟了

退出移动版