当整个机房挂掉后,你的系统还好吗?

去年在公司推了一个双机房的项目。当时我们只有一个机房,那时我们做了一个假想,如果这个机房出问题会怎么办?比如机房光纤被挖断、机房失火、出现灾害(地震以及天津化工厂爆炸类似灾难)以及人为原因导致机房故障等等。

按照我们当时的情况,只有一个机房,一旦出现上述事件,那么对于我们来说就是灾难性的。所有的应用都无法提供响应,所有的数据都可能丢失。

尽管概率很小,但是一旦发生,后果就是不可想象的。所以我们着手开始做双机房的项目,为的就是某一天,如果一旦出现上述问题,我们不至于真的挂掉。其实做这个项目的时候,只是觉得机房有挂掉的可能性,但是这种概率却是极低的,内心并没有觉得这个事情真的会发生在我们身上,还存在着一丝侥幸的心理。

墨菲定律

上周的某一天晚上,没有任何预兆,我们云上的机房突然之间大面积宕机,上百台机器同时宕机,包括应用服务器与数据库,真的就是机房挂掉了,这种比买彩票中奖概率还低的事情,真的让我们碰上了!!

当时已经接近凌晨,正准备要睡觉,突然之间手机收到了大批量的告警。仔细看了一下,都是机器宕机的告警,数量比较多。预感到这个事情会比较严重,第一时间联系了我们运维的负责人。运维同学响应也很及时,三分钟内给出答复,说是机房大面积宕机,目前正在联系厂商进行紧急处理。

目前我们主要的业务都跑在这个云机房上,两地三中心的项目正在进行中,当前处于一个过渡状态,云机房大面积宕机对我们业务产生了致命的影响,整个APP流程完全无法走通,连登陆都无法登陆。


理想阶段

上图是我们最终两地三中心的理想状态,在上海有两个机房同时支持业务,即使其中一个机房出现大面积故障,那么还有另外一个机房可以继续响应,不影响C端用户的使用。


现阶段

但是现在阶段,我们只实现了一半,刚刚把上海的生产中心建设完成,另外一个同城生产中心还没建设完成。

这时候我们有两个选择,一个是切回我们的灾备机房,另外一个是等待云厂商恢复。

切回异地灾备中心的这个预案我们之前也做过,但考虑到这是一种极端的情况,出现的概率极低,所以我们只做了手工切换的方案。因为我们的数据库的主库已经都切到云机房,这时候要切回原来的备份机房,需要先手工把备份机房的所有数据库先改成master,然后上层所有业务的数据库配置都要修改回备份机房的配置,再上层的负载均衡要把所有流量切到备份机房,修改的点比较多,我们之前做了一个一键批量修改的工具,但是从没有在线上用过,风险比较大,不到万不得已不会选这个方式。

所以当时的选择是看看云厂商什么时间能恢复,如果云厂商真的在短时间内无法恢复,那么我们还是要切回原来的备份机房,这将是一条坎坷未知的路。幸好等了大概不到10分钟,云厂商告诉我们原因已经找到,并且所有机器已经陆续开始恢复,这在当时真是一个好消息,我们重点精力放在如何恢复云机房上。


图片来源网络

随着云厂商陆续将机器恢复,我们需要做的是快速将机器上部署的业务服务尽快恢复,以及数据库、各种中间件恢复正常。大概1个小时左右,经过一系列的抢救,大部分的业务都已经恢复,大部分数据库也已经重新启动起来。APP已经可以重新打开,主流程已经基本恢复,整个下单主流程已经恢复。

但是由于挂掉的机器实在比较多,微服务调用关系也比较复杂,还是有一小部分机器由于各种异常原因没有完全恢复导致整个链路上还是有些不稳定。

主要体现在以下几个方面:

1.挂掉的服务比较多,正常情况下,机器重新启动后,上面部署的服务可以自启动,由于数量比较多,短时间内要确认是否都已经正常启动,以及是否可以正常对外提供服务响应。没有有效的手段可以快速验证,导致有个别漏网之鱼影响整个流程的稳定性。

2.redis集群挂掉后,一部分数据丢失,使得有些服务启动后无法从缓存加载数据导致某些业务流程异常。本质原因是这些模块要么是没有做服务的降级,从缓存取不到,降级到DB获取数据。要么是使用缓存场景不对,无法降级到DB,导致缓存数据丢失后,短时间内没办法从DB快速恢复缓存的数据。

3.微服务模式下,服务之间的调用关系比较复杂,服务的提供方会有多台机器提供服务,一个请求来了后具体由哪个后端服务的哪台机器来提供响应,这里就必须要有相应的路由策略。这次宕机后,很多服务的提供方不可用,路由机制会将此节点自动摘除,待到服务方恢复后,再将其加入到路由策略中,可以继续对外提供服务。这次宕机后,暴露了这个路由恢复检测机制的一些问题,导致之前被摘掉的机器,即使服务恢复后也没能及时的加回路由表中可以对外提供服务,引起了部分流程的异常。

4.由于异常宕机,数据库也受到一定影响。一个是大批量数据库突然宕机后,尤其是主库,很多写操作的请求可能处理异常,可能会造成数据丢失以及事务的不一致性产生脏数据。另外主库突然宕机,备库的binlog受损,导致备库也无法正常同步主库数据,对后续的数据采集等业务也造成比较大的影响。

回顾总结下这次事故,由于事发比较突然,并且是在凌晨,对研发同学的应急响应组织能力是个严峻的考验,幸好很多同学敏感度比较高,即使在深夜收到告警后也都起来及时进行处理,整个过程从0点开始,基本在凌晨1点恢复主流程,在凌晨3点将所有分支流程全部恢复,并且验证完毕。整个事故的恢复时间还是有提升的空间,处理过程中有很多方面可以吸取教训进行总结,也暴露了整体系统还是有很多不完善的地方,服务自启动机制、服务健康度快速诊断工具、监控告警机制、微服务的治理等等。

最后总结一句话:对系统要永远保持敬畏之心,服务保障永远在路上。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,490评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,581评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,830评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,957评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,974评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,754评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,464评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,847评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,995评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,137评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,819评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,482评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,023评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,149评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,409评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,086评论 2 355

推荐阅读更多精彩内容

  • 【什么是大数据、大数据技术】 大数据,又称巨量资料,指的是所涉及的数据资料量规模巨大到无法在合理时间内通过传统的应...
    kimibob阅读 2,745评论 0 51
  • 最近在看新一季的《最强大脑》,100强选手的第一场考试竟是15格数字华容道,觉得平日里用来打发碎片时间防止老年痴呆...
    咩咩咩爱睡觉阅读 1,575评论 0 1
  • 夏天到了,天气越来越炎热,人们想尽了各种办法来纳凉。于是,主人就买了一把扇子、一台电风扇和一台空调来。 一天,主人...
    Q心雨阅读 264评论 0 0
  • 说起厚黑学,古往今来的典范非曹操和刘邦莫属,今天我们不说曹操,只说说刘邦厚黑的那些事。 第一件事:吕公搬到沛县后招...
    小石读史阅读 438评论 0 8
  • 不是去旅游所以没有游记,只有印象,以及流水般的随意,外加蓝白混沌的天空和海港的气息。 八月的湛江之...
    逆袭的红色十月阅读 342评论 0 3