架构篇28:业务高可用的保障-异地多活架构


无论是高可用计算架构,还是高可用存储架构,其本质的设计目的都是为了解决部分服务器故障的场景下,如何保证系统能够继续提供服务。但在一些极端场景下,有可能所有服务器都出现故障。例如,典型的有机房断电、机房火灾、地震、水灾……这些极端情况会导致某个系统所有服务器都故障,或者业务整体瘫痪,而且即使有其他地区的备份,把备份业务系统全部恢复到能够正常提供业务,花费的时间也比较长,可能是半小时,也可能是 12 小时。因为备份系统平时不对外提供服务,可能会存在很多隐藏的问题没有发现。如果业务期望达到即使在此类灾难性故障的情况下,业务也不受影响,或者在几分钟内就能够很快恢复,那么就需要设计异地多活架构。

应用场景

顾名思义,异地多活架构的关键点就是异地、多活,其中异地就是指地理位置上不同的地方,类似于“不要把鸡蛋都放在同一篮子里”;多活就是指不同地理位置上的系统都能够提供业务服务,这里的“活”是活动、活跃的意思。判断一个系统是否符合异地多活,需要满足两个标准:

  • 正常情况下,用户无论访问哪一个地点的业务系统,都能够得到正确的业务服务。
  • 某个地方业务异常的时候,用户访问其他地方正常的业务系统,能够得到正确的业务服务。

与“活”对应的是字是“备”,备是备份,正常情况下对外是不提供服务的,如果需要提供服务,则需要大量的人工干预和操作,花费大量的时间才能让“备”变成“活”。

单纯从异地多活的描述来看,异地多活很强大,能够保证在灾难的情况下业务都不受影响。那是不是意味着不管什么业务,我们都要去实现异地多活架构呢?其实不然&#

相关推荐

  1. 架构可用:热备和冷备以及双

    2024-01-28 05:48:01       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-28 05:48:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-28 05:48:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-28 05:48:01       82 阅读
  4. Python语言-面向对象

    2024-01-28 05:48:01       91 阅读

热门阅读

  1. 【HDFS】一天一个RPC系列--updatePipeline

    2024-01-28 05:48:01       59 阅读
  2. 大数据处理流程包括哪些环节

    2024-01-28 05:48:01       55 阅读
  3. 【计算机二级考试C语言】C头文件

    2024-01-28 05:48:01       51 阅读
  4. Vue2 长文本展示和收起

    2024-01-28 05:48:01       59 阅读
  5. 蒙特卡洛模拟之合成控制法

    2024-01-28 05:48:01       49 阅读
  6. spring与spring boot的区别

    2024-01-28 05:48:01       52 阅读
  7. Vue 插槽讲解

    2024-01-28 05:48:01       51 阅读