⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 zhihu.com/question/350997893/answer/875003181 「净整些没用的」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

前几天微信支付出了点问题,今天在知乎看到了一个问题《假如有人把支付宝存储服务器炸了(物理炸),大众在支付宝里的钱是不是就都没有了呢?》

外行人问题。网站都是有服务器的,服务器都是有实体的。那么支付宝的实体服务器所在地假如被一颗核弹 / 导弹等等炸了,那么大众存支付宝里的钱是不是也灰飞烟灭了呢?服务器实体的焚毁,数据也会消失不是么?

在知乎看到了一个比较硬核的回答,跟原作者沟通后得到转载权限,这里给大家分享一下。

---

曾经在银行做过四年的运维,一个干 IDC 的从业人员来答一波。

其实这个问题早在几十年前,就有人提出。

在 2007 年 7 月,公安部、国家保密局、国家密码管理局、国务院信息化工作办公室就制定了《信息安全等级保护管理办法》,其中明确表示:作为目前金融圈信息安全等级的权威认证系统,三级等保是除银行之外的金融系统最高等级信息安全认证。

这个目的就是:

防止信息系统受到破坏后,对社会秩序和公共利益造成严重损害,或者对国家安全造成损害。

当然我不可能在这讲三级等保,有兴趣可以自己去查一下。

那么把支付宝存储炸了到底会发生什么?

那要看你怎么炸,我们看看最低配的金融信息系统是什么样的:

网上找的图,不是很贴切但是比较容易看懂

一般的金融信息至少是两地三中心的系统。

两地三中心指的是,在同城做两个数据中心,关系是热备份或者双活。

双活指的是,你炸了一个,还有一个。两个同时工作,几乎没有影响。

热备份指的是,你炸了一个,我可以把服务切到另一个数据中心,也没啥影响。

所以你要炸就得一下炸俩。

那么两个数据中心同时炸了,怎么办。

不好意思,我还有容灾数据中心,可以切换和恢复数据。

三个数据中心都炸了怎么办,不好意思,我有冷备份。

冷备份指的是,定期备份,这个备份不运行在系统里,单拿出来。

这下有点影响了,因为冷备份不是实时的,如果 2 个小时做一次增量备份,那你两个小时之内的数据可能就没有了(部分数据也可以恢复,后面会讲到)。

而且冷备份恢复也需要比较长的时间,业务短时间是没法提供了,但是数据还是能恢复的。

那我把你冷备份也炸了。

不好意思,我不止一份冷备份。

气死我了,这么硬的么,那我把你三个数据中心和所有备份全炸了。

那你厉害,我只能找各个银行和金融机构要资金数据了,用户数据什么蚂蚁评分估计是没了。

支付宝的所有交易,背后都是银行和基金的交易,通过他们的数据也可以恢复支付宝的数据。

但是能不能恢复完整就不好说了,只能说数据不好要的,但是还是有希望的。

那我把三个数据中心和所有备份全炸了,也把合作的金融机构的全部数据中心和备份全都炸了

不好意思,央行有结算数据。

有一个算一个,来一个炸一个,哪有数据炸哪!

那你牛逼!

那么支付宝有多少数据中心呢

不知道。

我们可以从侧面大致看一下「http://alipay.com」这个域名的 DNS 指向多少 ip:

目前能看见八个,这八个是同时活着的,也就是多活。

(看错了,前面是 dns 所在地 后面是 ip 一共两个,sorry

另外,这个 alipay 的域名解析地址,并不代表支付宝的数据就在那个地方。

只是请求和返回数据的服务器在那个地方,具体内部业务怎么走的,我们也不知道。

我们看一下查资金明细,需要请求哪些地址

可以看到 业务不是在一个地方。

后面的热备,容灾就看不见了。

要炸支付宝的存储的话,还是要下点功夫的。

炸可能不太现实,我们看看如何搞瘫痪一个数据中心。

数据中心有几种分类方式。

  • 国际通用的是 T1、T2、T3、T4(T4 级别最高,普遍都是 T3 级的数据中心)
  • 按照我国《电子信息系统机房设计规范》(GB50174-2008),数据中心可根据使用性质、管理要求及其在经济和社会中的重要性划分为 A、B、C 三级。(A 级最高)
  • 国内运营商自己给自己数据中心定的等级 1-5 星(5 星最高)

能承接金融业务的数据中心,需要按《电子信息系统机房设计规范》规定的 A 类数据中心。

一般单数据中心内的信息系统,也有主备和负载均衡,所以单拔掉几个设备的网线并不好使。

那我们从电力系统入手。

我们切断数据中心的供电,就可以做到让数据中心瘫痪。

1、我们直接把发电站给炸了吧,数据中心不攻自破。

不行,数据中心有 2N+1 的电力供应,说白了就是有两个发电站同时供电,每个发电站都能满足数据中心的全部电力需求,还有一个是备份电力供应,以备两个发电站同时断电的情况。

2、我擦,要炸三个发电站么?发电站是那么好炸的么,那我们直接炸数据中心里的配电室吧。

不行,A 类数据中心的市电接入都是独立的配电室,而且是物理隔绝的,要炸得全都炸。

3、行,那我下点血本,全给丫炸了。

还是不行,数据中心里有 ups 室,里面放的都是电池,至少能供应数据中心满载运行 15 分钟。

4、哈哈,那就等 15 分钟,我不信 15 分钟之内他能修好配电室。

他们不用 15 分钟修好配电室,他们有发电机和储油罐,能支持满载 12 小时以上。

5、意思他们 12 个小时能修好一个配电室?

不,他们跟附近至少两个加油站签订协议,4 个小时之内供应柴油。

6、我擦,那我找雷公劈他丫的。

雷公也不好使,他们有防雷接地措施。

7、那我搬个火焰山过来,热死他。

你能搬来也不行,内部恒温恒湿。

8、那我在数据中心地下搞个核试验,震碎他。

不好意思啊,他们抗震至少八级。

9、那我偷偷混进去放一把火,他要灭火,干粉也会弄坏服务器,水也会弄坏服务器。

哎,你以为安防系统是摆设么,就算你能进去,你也不可能带进去打火机啊。

就算你混进去了,打火机也带进去了,你也点不着啊,机房里没有易燃物品啊。

就算你再带两桶汽油进去,你点着了,也能分分钟灭掉啊。

数据中心检测灭火有温感系统,视频系统,甚至还有值班人员盯着。

发现火情,后灭火用的也不是干粉或者水这些可能损坏服务器的东西。

用的是七氟丙烷气体,抽出数据中心的气体,然后释放七氟丙烷。

这种东西无色无味,杀人于无形之中,咳咳,说错了重新来,这东西无色、无味、低毒、不导电、不污染、无腐蚀性。

10、那里面的人不都憋死了么。

数据中心灭火时,门禁系统会自动断电,人员可以离开灭火区域,及时离不开。

数据中心内也配备足够量的氧气面罩。

11、不搞了不搞了,搞不过。

那就对了。

A 类机房建设的位置也非常苛刻,旁边不能有铁路、公路、机场、化工厂、垃圾填埋场、核电站、军火厂、加油站等有安全隐患的东西。

自身位置要求不能设置在有可能发生洪水、地震的地方,不能设置在犯罪率较高的地方。

即使这样数据中心也需要达到一定的抗洪和抗震标准,而且有犯罪记录不能靠近机房。

内部的暖通系统,空调系统,照明,灭火,供电等等系统都有非常严苛的要求。

为了你钱包里的那 2 块五毛钱,我们可是操碎了心啊。

文章目录