Skip to content

Latest commit

 

History

History
76 lines (53 loc) · 4.06 KB

0035-disaster-recovery.md

File metadata and controls

76 lines (53 loc) · 4.06 KB

35. 关于灾难恢复

Date: 2017-06-05

Status

Proposed

Context

当前我们使用的是华北2可用区A机房(即北京昌平区的一个机房)部署了所有服务,存在以下几个问题,出现概率逐级减少:

  1. 服务本身部署在单台机器,单机的故障会导致服务的不可用,这个我们的业务服务频频出现;
  2. 所有服务部署于一个机房,机房电力,网络出现故障,将导致服务完全不可用,这个 2016 年中旬我们使用的 Aliyun 机房网络设备出现过一次问题,导致服务停服 1 小时左右(官方),实际对我们的影响在 12 个小时左右;
  3. 北京发生各种灾害,殃及所有机房,导致服务不可用。

基础概念

灾难恢复(Disaster recovery,也称灾备),指自然或人为灾害后,重新启用信息系统的数据、硬件及软体设备,恢复正常商业运作的过程。灾难恢复规划是涵盖面更广的业务连续规划的一部分,其核心即对企业或机构的灾难性风险做出评估、防范,特别是对关键性业务数据、流程予以及时记录、备份、保护。

地域,即城市,不同的地域可以做到自然灾害级别的灾备,之间延迟较高

可用区,即机房,不同的可用区可以做到电力和网络设备互相独立,之间有少量延迟

两地三中心,业界目前最可靠的解决方案,即在两个城市共三个机房中部署服务

灾备的两项指标

RTO - Recovery Time Objective,它是指灾难发生后,从 IT 系统宕机导致业务停顿之时开始,到 IT 系统恢复至可以支持各部门运作、恢复运营之时,此两点之间的时间段称为 RTO

RPO - Recovery Point Objective,是指从系统和应用数据而言,要实现能够恢复至可以支持各部门业务运作,系统及生产数据应恢复到怎样的更新程度,这种更新程度可以是上一周的备份数据,也可以是上一次交易的实时数据

两地三中心

  • 主系统
    • 即当前对外提供服务的机房
    • 首先要做到自身的高可用,所有服务不因单机故障导致服务不可用
    • 无资源浪费,多一些部署和维护成本
  • 同城灾备
    • 单个城市多个机房,解决单机房电力或网络故障导致的服务不可用
    • 主备的方式会有一半的资源浪费,双活的方式对服务有一定的延迟
    • 有一定的部署和维护成本
  • 异地灾备
    • 即跨城市部署服务,解决自然灾害等引起的服务不可用
    • 由于延迟的原因,这部分资源属于备用服务,仅在发生灾害是激活
    • 平时资源都是浪费,并且有较高的部署和维护成本

Decision

  1. 同机房的服务高可用(进行中),这个是目前最高优先级;
  2. 同城双活(提议中),可以解决大部分我们遇到的机房问题;
  3. 异地灾备(暂不考虑),针对支付业务,当涉及合规性时,我们得考虑下;
  4. 明确我们各个服务的重要程度,分服务针对性的做高可用及灾备策略。

Consequences

Refs: