Date: 2017-06-05
Proposed
当前我们使用的是华北2可用区A机房(即北京昌平区的一个机房)部署了所有服务,存在以下几个问题,出现概率逐级减少:
- 服务本身部署在单台机器,单机的故障会导致服务的不可用,这个我们的业务服务频频出现;
- 所有服务部署于一个机房,机房电力,网络出现故障,将导致服务完全不可用,这个 2016 年中旬我们使用的 Aliyun 机房网络设备出现过一次问题,导致服务停服 1 小时左右(官方),实际对我们的影响在 12 个小时左右;
- 北京发生各种灾害,殃及所有机房,导致服务不可用。
灾难恢复(Disaster recovery,也称灾备),指自然或人为灾害后,重新启用信息系统的数据、硬件及软体设备,恢复正常商业运作的过程。灾难恢复规划是涵盖面更广的业务连续规划的一部分,其核心即对企业或机构的灾难性风险做出评估、防范,特别是对关键性业务数据、流程予以及时记录、备份、保护。
地域,即城市,不同的地域可以做到自然灾害级别的灾备,之间延迟较高
可用区,即机房,不同的可用区可以做到电力和网络设备互相独立,之间有少量延迟
两地三中心,业界目前最可靠的解决方案,即在两个城市共三个机房中部署服务
RTO - Recovery Time Objective,它是指灾难发生后,从 IT 系统宕机导致业务停顿之时开始,到 IT 系统恢复至可以支持各部门运作、恢复运营之时,此两点之间的时间段称为 RTO
RPO - Recovery Point Objective,是指从系统和应用数据而言,要实现能够恢复至可以支持各部门业务运作,系统及生产数据应恢复到怎样的更新程度,这种更新程度可以是上一周的备份数据,也可以是上一次交易的实时数据
- 主系统
- 即当前对外提供服务的机房
- 首先要做到自身的高可用,所有服务不因单机故障导致服务不可用
- 无资源浪费,多一些部署和维护成本
- 同城灾备
- 单个城市多个机房,解决单机房电力或网络故障导致的服务不可用
- 主备的方式会有一半的资源浪费,双活的方式对服务有一定的延迟
- 有一定的部署和维护成本
- 异地灾备
- 即跨城市部署服务,解决自然灾害等引起的服务不可用
- 由于延迟的原因,这部分资源属于备用服务,仅在发生灾害是激活
- 平时资源都是浪费,并且有较高的部署和维护成本
- 同机房的服务高可用(进行中),这个是目前最高优先级;
- 同城双活(提议中),可以解决大部分我们遇到的机房问题;
- 异地灾备(暂不考虑),针对支付业务,当涉及合规性时,我们得考虑下;
- 明确我们各个服务的重要程度,分服务针对性的做高可用及灾备策略。
Refs:
- 灾难恢复 https://zh.wikipedia.org/wiki/%E7%81%BE%E9%9A%BE%E6%81%A2%E5%A4%8D
- Aliyun 地域和可用区 https://help.aliyun.com/knowledge_detail/40654.html
- 阿里云华北2区网络故障导致业务中断1小时 http://www.sohu.com/a/101817812_401503
- 因电缆井被烧,京津宁骨干网中断 http://www.sohu.com/a/131579749_465914
- 经历不可抗力是一种什么体验 https://zhuanlan.zhihu.com/p/26855422
- 金融云特性 https://help.aliyun.com/document_detail/29851.html
- 云上场景:众安保险,两地三中心容灾部署实践 https://yq.aliyun.com/articles/6633