从脉脉当机15个小时看如何实现高可用性架构

据报道,近日,由于中国联通整治违规互联网接入及大带宽业务,某CDN/IDC服务商业务中断,华为云故障一整天,导致生意帮一整天当机,脉脉服务器挂了,失联15个小时……

接着整个经历就非常崩溃了:用户不间断的咨询投诉,很多用户几百万的生意,重要的战略合作受影响,重要数据和资料的无法调用,CDN直播叫停……都因为网络故障而停摆,影响甚大。

意外在所难免。用户和客户是无辜的。如何保障自己的技术和服务的高可用性,做到即使在出现0.0001%的故障发生率的情况下,仍然可以给用户和客户提供高可用性,保证灾难情况下网络服务的及时恢复,是云技术服务商、提供商必须面对,又亟待解决的重要问题。

什么是高可用性?

要了解高可用性对于服务提供商的必要性和重要性,首先我们要了解什么是高可用性。一般来讲,一个靠谱的云服务一定是可用性非常高的,24*7随时可以用。第二点,可控性一定要好,非云服务你可以上个锁,云服务没法上锁,如何能做到可控性很好是一个难点。第三点是灾难恢复,是软件就会有问题。怎么样积极地面对这个问题,多长时间恢复,如何恢复,是否有成熟的预案这是任何一个云厂商都要诚实面对的问题。

业界的高可用性标准

首先,我们来看一下可用性的评判标准,就是SLA,Service Level Agreement。一个东西是不是高可用,那么就问他几个九,敢不敢拿出来说一下。

3个9基本上是国内云服务的基础线。也就是说云服务至少要做到3个9才称为基本上可用,是合格性产品。如果做不到这个,你的产品就连忽悠客户都做不到了。回去重新开发,重新装备,刷到至少3个9再回来。

从3个9迈向4个9,也就是99.99%的可用性,每年只有52.6分钟的时间是不可用的。以前谷歌搜索可用度大概是全球5个9到6个9之间,每一个小节点都是5个9不到6个9之间。其实这个是很可怕的一个概念,也就意味着即使有不可抗力,发生了台风,洪水,地震等重大灾害性事件,也只需要5分钟内恢复服务。

相较而言,大部分国内的IDC机房都是按照99%设计的,一年至少3天是不可用的。这一标准,给了厂商一定的机动时间,也提供了一定的灵活性。

所以说,从3个9往上,每一次提升都是一次技术的挑战。SLA直接反映一个云服务的靠谱程度:

从99%到3个9,是基本可以靠人力和运气解决的;

从3个9到4个9,考验的是运维自动化的能力,灾备的能力;

从4个9往上基本考验的是服务基础架构、业务设计的能力。

分布式核心机房保障声网Agora.io的高可用性

声网Agora.io一直在4个9到5个9之间努力,这个目前还是很有难度的。为了保证高可用性,声网Agora.io特意将核心机房分布在全球各地,以减少地区性的网络故障对于通信的影响,同时,核心机房用了十几家不同的IDC,即使某家的网络故障了,也能最大限度上保障服务的稳定性。

声网在全球部署了覆盖四个大洲的虚拟实时通信网,100多个数据中心,近千台服务器,每年为用户提供数千亿分钟的网络通话服务,这一系列的举动都是为了充分确保接入SDK的客户随时随地获得高质量的通话服务。

声网认为,要提升高可用性,需要从方方面面整体布局。

从架构上,声网的所有服务都有多点备份,并且所有备份节点都能够独立服务,不依赖其他节点。任何机房故障,甚至几个机房同时故障都不会影响到整体服务,除非所有节点同时发生故障。

声网的SDK也能够快速切换,一旦检测到某个服务节点不可用,可以快速切换到其他备份节点。

当然,武功再高,也怕菜刀。为了防范一些万一的故障导致服务不可用,声网还有一系列措施应对故障。

首先声网部署了实时故障检测系统。在服务用户的同时,该系统收集整个系统服务状态,并实时分析。如果遇到服务数据异常立即报警。

接下来,声网的数据分析系统可以对服务数据进行多个维度和层面的分析汇总。在故障发生时,可以快速判断是哪个模块或者机房出现问题。有了这个系统,声网就可以快速定位故障。比如常见的数据库故障,进程崩溃,遇到性能瓶颈,还有此次事件的主角——机房故障。

在定位了问题之后,声网还有一套工具能够实时调整线上系统,进行故障隔离。比如遇到某些数据库瓶颈时,能够暂时关闭某些数据库的写服务,不影响读数据。能够暂停某个机房的服务,避免用户受到影响。或者某些后台服务故障,暂时禁用,不让用户的音视频通信受到影响。

在进行故障隔离后,或者遇到难以隔离的故障,就需要快速恢复了。对于常见的进程崩溃,声网有自动化的包管理工具可以一键重启,回滚到前一个稳定版本。对于数据库故障,有数据库工具可以快速重建数据库,并恢复数据。即使遇到这次事件中的机房故障,除了架构设计能够保证服务基本不受影响外,也有机房上架工具能够快速上架,并使用部署工具重新部署一个新的机房。一般而言,声网上架一个新机房仅需几十分钟。

故障隔离处理后,声网会尽快对故障的根本原因做一个彻底的调查。首先从系统中收集各种数据和日志,进行分析,并尝试建立测试环境以确认故障的根本原因。

最后,需要进行服务改进。改进主要从几个方面着手:第一,修复问题。直接修复bug,改进算法性能等。第二,架构改进。下一次这个模块再出问题,怎么样设计系统才能够让服务不受影响?如何设计多点备份?第三,工具改进。下次再出现这些问题,需要哪些工具可以帮助更快速的定位,对故障进行隔离,更快速的恢复故障?

开发者该如何甄别和选择高可用性服务

面对市场上鱼龙混杂的云服务提供商,开发者应该如何正确地甄别和选择高可用度的服务呢?三个层面:一,观察该服务商的架构是否符合高可用度,SLA一定要达到4个9,二,是否具备完整的、实时的灾难预案。从问题发生的预警,到问题定位分析,到问题解决和服务恢复,是否能在最快的时间内完成,将用户的损失降到最低,三,是否把服务可用性当成生命线的信仰。

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

推荐阅读更多精彩内容