加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 资讯 > 正文

今天,支付宝居然现场自断服务器……

发布时间:2018-09-21 16:58:08 所属栏目:资讯 来源:差评
导读:今天拉梨和小辣椒去参加了蚂蚁金服的 ATEC 大会。 在 ATEC 大会上,蚂蚁金服副 CTO 胡喜在现场特别模拟了剪断支付宝位于一个城市中两个模拟机房的光缆。 服务器突然挂掉会发生什么样的事情,我想大家应该都不陌生。比如上周饿了么突然挂掉,店铺怎么都刷不
副标题[/!--empirenews.page--] null

今天拉梨和小辣椒去参加了蚂蚁金服的 ATEC 大会。

null

在 ATEC 大会上,蚂蚁金服副 CTO 胡喜在现场特别模拟了剪断支付宝位于一个城市中两个模拟机房的光缆。

服务器突然挂掉会发生什么样的事情,我想大家应该都不陌生。比如上周饿了么突然挂掉,店铺怎么都刷不出来导致一群人点不了外卖。

以及今年网易云音乐和腾讯 QQ 都有过打不开的情况。。。

这些 App 的服务器挂掉,对大家的影响也许就是那段时间暂时不能点外卖、听歌。

但是如果这样的情况换在支付宝这类和金钱有关的 App 上呢??

null

今天蚂蚁金服副 CTO 胡喜特别在现场演示了一下这个情况。

可能是知道大家都不愿意用自己支付宝里的钱冒险,所以他很慷慨的在现场给我们每个人账户里都打了一百万块!虽然是虚拟的。。。

null

并且让我们疯狂转账享受了一下有钱随便花的感觉~但是拉梨我才刚刚转了 200 块就遇到了这样的情况:

转账失败

null

对,他趁着大家正在欢乐转账的时候,让楼下的程序员小哥剪断了位于杭州一个模拟机房的光纤。。。

null

当光纤被剪断后,这个模拟机房所负责区域的任何业务都不能处理。这就是为什么拉梨转账失败的原因。

不过一切业务在 26s 后就恢复正常了。原因嘛肯定不是程序员小哥用胶带把线给粘好了。

虽然这次只是个演习。但胡喜也说了在真实环境下,如果支付宝部署在一个城市的两个机房同时出问题,跑在这两个机房上的支付宝账户恢复正常的速度也就是分钟级。

null

完全不用像其他服务器挂掉之后那样,等他个天长地久,而且用户资金和重要数据都不会有任何的损失~

而这一切都是依赖于蚂蚁金服提出的三地五中心城市级多活容灾方案。

null

因为这个问题比较硬核,拉梨稍微讲解一下。

不过在解释三地五中心之前还是要说说传统的解决方案——两地三中心。

两地三中心,是将数据分别存在两个城市的三个数据中心里,每个中心有一套独立的数据库系统。

在城市 A 的两个机房是服务大众的,不管是转账、缴费还是查账全部都由这两个机房提供服务,而且两个机房是同步在处理数据且数据一致的。

但在城市 B 的备份机房只是做备份而已,并不参与服务大众这一活动。

null

一旦城市 A 的两个机房被自然灾害等毁坏就不能继续对外服务,那只能让程序员熬夜去切换另一个城市的备份数据。

null

但是由于 B 城市的机房常年没有工作(提供服务),整个机器都处于 “ 冷冻人 ” 的状态,所以切换前还需要校验数据,再预热等等复杂的操作后才能让服务再次畅通。

这就是为什么很多 App 服务器挂掉的时候,要花很久时间才能恢复的原因。

据说遇到这种情况程序员都要把头挂在裤子上去处理

null

至于要花多少时间就要取决于平时的容灾演戏熟练度和当天的黄历了。。。

null

如果服务器挂掉的时候还导致了数据丢失,比如在 A 城市机房被摧毁时用户所进行的转账等业务的数据丢失了,用户的钱没了账单也没有,这时候就算把程序员们拿去祭天也没用。。

null

所以这次蚂蚁金服为了保证用户资金、数据零丢失,提出了能快速解决问题的 " 三地五中心 " 方案。

在三个城市中总共部署了五个数据中心,和 " 两地三中心 " 方案不同的是,这五个数据中心数据互相同步数据并且都能对外服务。

null

仔细看图可以发现 “ 三地五中心 ” 的机房中除了负责转账、缴费或者是读取账单所有服务;还有几个 “ 辅助 ” 机房也做对外服务,但是只做读取账单这类简单的服务。

这样的好处是,蚂蚁金服会根据算法调取离用户所在地最近的服务机房,对这些申请服务的流量进行准确的分流。

null

而且这几个辅助机房不仅能帮助承担所有业务的机房分担读取账单的压力,而且在业务量过高时(比如双十一),可以快速的增加机房去分担高峰时期的压力,避免其他机房因为业务量过高发生自爆这样的惨案。

三地五中心就是把服务大众的压力分散在不同城市的不同服务器中,所以大家使用起来才能感受到丝滑般的流畅。

null

也正因为有了多个中心,可以把用户的账户信息等关键数据放在不同城市的多个中心,当一个城市的数据中心发生故障不能工作时,账户数据不会丢失,钱也不会错,仍然还有其他城市的服务器可以马上接收任务,所有业务仍然能成功展开。

这就是刚刚在 ATEC 中为什么副 CTO 剪掉模拟服务器的电线后没多久大家就能继续进行支付行为的原因。

其实蚂蚁金服之所以要大费周章在 “ 三地五中心 ” 上,最主要的就是为了防止黑天鹅事件的发生。

null

“ 黑天鹅 ” 事件是指满足以下三个特点的事件:它具有意外性;它产生重大影响。黑天鹅存在于各个领域,无论金融市场、商业、经济还是个人生活,都逃不过它的控制。

比如 9·11 事件、雪灾、地震都是黑天鹅事件。

虽然这样的事情发生概率并不高,但是作为现在大家使用频率最高的支付软件,蚂蚁金服肯定要做好一切容灾准备,即便这只是亿分之一概率的猜想。

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读