腾讯云高可用和容灾解决方案

作者:melodytu(涂小敏)

导语:实现业务连续性的技术手段通常包括高可用性和灾备恢复两种,所以本文其实讲述的是在腾讯云上实现业务连续性的解决方案。

一、业务连续性

  • 业务连续性(Business Continuity)是指在中断事件发生后,组织在预先确定的可接受的水平上连续交付产品或提供服务的能力。它明确一个机构的关键职能以及可能对这些职能构成的威胁,并据此采取相应的技术手段,制定计划和流程,确保这些关键职能在任何环境下都能持续发挥作用。
  • 业务连续性(BC)针对的事件场景应包括三类:一般故障(Outage)、紧急事件(Emergency)和灾难事件(Disaster)。
  • 实现业务连续性所需的 IT 措施包含三个方面:业务状态数据的备份和复制、业务处理能力的冗余和切换、外部接口冗余和切换。

业务连续性管理

  • 业务连续性管理(Business Continuity Management,简称 BCM)是一套一体化的管理流程,通过该流程可识别组织面临的潜在威胁以及这些威胁一旦发生可能对业务运行带来的影响,并为组织提供了一个指导框架来建立有效应对威胁的自我恢复能力,从而保护关键相关方的利益、声誉、品牌和创造价值的活动。
  • 业务连续性管理是一个长期的、不断完善的循环过程,需遵循国际标准的 PDCA 循环模型,即策划 (Plan)—实施 (Do)—检查 (Check)—改进 (Act)。

实现业务连续性的技术手段

实现业务连续性的技术手段通常包括高可用性(单数据中心下即可完成)和灾备恢复(通常涉及至少两个数据中心,一个生产中心,一个容灾中心)两种。

1. 高可用性(High Availability,简称 HA)

  • 指的是通过技术手段,尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。业界的通行做法是采用群集系统(Cluster),将各个主机系统、网络系统、存储设备(部分高可用系统包含存储设备的高可用)等通过各种手段有机地组成一个群体,共同对外提供服务。
  • 通过创建群集系统(采用实现高可用性的软件)将冗余的高可用性的硬件组件和软件组件组合起来,以达到消除单点故障、减少设备意外发生时的宕机时间。一般说,高可用技术通过对网卡、 CPU、内存、系统软件设置不同的可用性监测点,在这些节点发生故障时实现冗余切换,持续提供服务。
  • 然而,传统的高可用技术(如双机热备)并不能有效应对数据或者软件逻辑故障所造成的意外宕机情况,如人为误操作、网络病毒攻击等,近几年兴起的 CDP(Continuous Data Protect 持续数据保护)技术,在面对业务各类风险事件时的高级别的应急技术则可以看做是高可用的有效补充与扩展(当然, CDP 技术也融合了备份、快照等多种技术于一体)。

2. 灾难恢复(Disaster Recovery)

  • 灾难恢复(DR)(国内通常简称为灾备或容灾)属于业务连续性的技术层面。在信息服务中断后,调动资源,在异地重建信息技术服务平台(包括基础架构、通信、系统、应用及数据),灾难恢复也包括本地的恢复与重建。
  • 目前,流行的灾备系统往往包括本地的 HA 集群和异地的 DR 数据中心。从故障角度, HA 主要处理单组件的故障导致负载在集群内的服务器之间的切换, DR 则是应对大规模的故障导致负载在数据中心之间做切换。从网络角度, LAN 尺度的任务是 HA 的范畴, WAN 尺度的任务是 DR 的范围。从云的角度, HA 是一个云环境内保障业务连续性的机制, DR 是多个云环境间保障业务连续性的机制。从目标角度, HA 主要是保证业务高可用, DR是保证数据可靠的基础上的业务可用。

二、腾讯云高可用解决方案

[ 标准Web系统的架构分层,图片来源于网络,供参考 ]

所处位置

腾讯云产品

高可用

前端负载均衡

CLB

CLB 可用性高达 99.95%

业务间通信层

CMQ

99.999999% 的数据可靠性和 99.95% 的服务可用性

缓存

Memcached

双机热备,自动切换

缓存

Redis

双机热备,自动切换

数据库

MySQL

99.9996% 的数据可靠性和 99.95% 的服务可用性

数据库

SQL server

默认提供一主一镜像的配置,可用性超99.95%

文件存储

CFS

每个存储在 CFS 标准文件系统中的文件都会有 3 份冗余

块存储

CBS

数据可靠性高达 99.999999%

对象存储

COS

每一个对象高达 99.999999999% 的数据持久性

OS层

CVM

99.95 %的服务可用性和 99.9999999 %的数据可靠性

CDB for MySQL 灾备

针对业务连续服务和数据可靠性有强需求或是监管需要的场景,CDB提供灾备实例,帮助用户以较低的成本提升业务连续服务的能力,同时提升数据的可靠性。

CDB for MySQL 普通实例架构(同个可用区)

[ CDB for MySQL 普通实例架构(同个可用区) ]

CDB for MySQL 同城灾备实例架构(不同可用区)

[ CDB for MySQL 同城灾备实例架构(不同可用区) ]

说明:腾讯云数据库多可用区部署目前仅支持深圳金融专区,大客户可以特殊支持,其他可用区的支持还在规划中。

CDB for MySQL 异地灾备实例架构

[ CDB for MySQL 异地灾备实例架构 ]

高可用基本结构1:CLB+不同可用区CVM

  • CLB可绑定的处于同个VPC下的同个地域不同可用区CVM,则可在负载均衡实例所在的地域内的多个可用区中选择绑定 CVM 实例,以增加应用程序的健壮性,屏蔽单点故障。

如上图所示,在负载均衡实例下绑定不同可用区的 CVM,当广州三区发生故障时,广州四区的服务器仍可正常提供服务,这样即可以避免因为单个可用区的故障而导致对外服务的不可用。

高可用基本结构2:CLB+不同可用区CVM+MySQL实例(同可用区)

  • 在同个可用区中,每个CDB for MySQL实例均有实时热备的备机提供数据库的高可用;
  • 但可以为MySQL创建灾备实例,在主实例发生故障,可在数秒内激活灾备实例,恢复完整读写功能;

高可用基本结构3:CLB+不同可用区CVM+MySQL实例(不同可用区)

  • 部分可用区Mysql实例支持多可用区部署(目前仅支持深圳金融专区);

三、腾讯云容灾解决方案

[ 业务连续性解决方案的几种主要应用场景 ]

上图中三种应用场景是大家耳熟能详的,从用户使用角度来理解容灾场景,则有如下两种场景:

跨可用区容灾

  • 跨可用区容灾需要保证一个CLB实例的后端服务器CVM分布在多个可用区,即避免一个可用区不可用时,CLB后端的CVM都无法使用从而影响用户访问。
  • 即使CLB支持添加属于不同可用区的CVM,用户也是购买两个CLB实例来实现跨可用区容灾,用户可以使用云解析将注册系统的域名解析到上面的两个CLB实例,实现CLB的调度。
  • 如果还使用CDB等产品,还需要考虑CDB的跨可用区容灾问题,CDB for MySQL支持灾备实例。

跨地域容灾

  • 随着业务的发展,用户对业务系统的高可用要求越来越高,已经不满足于只能做到跨可用区的容灾,用户希望即使某个地域的系统都不可用了,还可用通过其它地域的系统继续提供服务,这就是跨地域容灾。
  • 跨地域容灾是个非常大的课题,不仅仅涉及到网络层面,更涉及到应用系统的改造和适配,数据的同步和一致性等很棘手的问题。这里仅说明下网络层面的跨地域容灾。从产品角度看,跨可用区容灾一般是通过DNS来实现的。
  • 传统的如F5的全局负载均衡(以前叫GTM,现在叫BIG-IP DNS)就有比较完善的解决方案,或者一些提供DNS服务的系统也有类似的功能。负载均衡CLB产品本身没有提供这样的能力,跨地域容灾的能力是通过云解析DNS+DNSPod产品来实现的,云解析DNS产品提供了解析的能力,DNSPod提供容灾的能力,网站宕机后自动切换DNS记录,多种切换算法,满足用户不同需求。
  • 另外,对于跨地域(跨VPC)容灾可能需要使用在不同地域间同步数据或者跨地域私网调用,可以使用【对等连接】产品构建不同地域的通信链路。

同城双机房(跨可用区容灾)架构

参考上面高可用基本架构3

异地(跨地域容灾)架构

两地三中心架构

补充,要实现所谓的容灾功能需要依赖云上产品的数据同步能力:

  1. CVM镜像:目前支持跨地域复制,但是制作镜像需要关机;
  2. COS复制:后续会支持跨园区复制的功能;
  3. DTS复制:创建数据库同步任务;
  4. CLB多可用区:目前只有金融专区支持;
  5. MySQL多可用区:目前只有深圳金融区支持;
  6. 以上只涉及云上的容灾架构,混合云容灾方案参考下一期的分享。

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 zhuanlan_guanli@qq.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏社区的朋友们

是的,腾讯投票已经拥抱腾讯云了

小程序腾讯投票最近迁移到腾讯云了,本文记录了为什么做这个迁移,以及前后的工作。

1.1K6
来自专栏织云平台团队的专栏

腾讯云运维干货沙龙-海量运维实践大曝光 (二)

12月16日,首期沙龙“海量运维实践大曝光”在腾讯大厦圆满举行。沙龙出品人腾讯运维技术总监、复旦大学客座讲师、DevOps专家梁定安,讲师腾讯手机QQ运维负责人...

5441
来自专栏腾讯技术工程官方号的专栏

腾讯研发专家:TXSQL如何成为云计算时代数据库核弹头?

1911
来自专栏IT技术精选文摘

见证微信强大后台架构从0到1的演进历程

1154
来自专栏数据和云

加速Oracle RAC性能 软件定义存储的数据库云化实践

简介: 刘振宇 云和恩墨基础架构软件研发负责人。 拥有10年以上电信、金融、保险、政府机关以及制造业等多个行业的架构和管理经验。现在负责云和恩墨软件定义存储zD...

3004
来自专栏腾讯云serverless的专栏

Serverless 初探

SCF 无服务器云函数已经开放公测,借助这个产品,让我们来聊聊什么是Serverless。Serverless架构,或者称为无服务器架构,是最近几年新冒出来的一...

1.3K4
来自专栏腾讯云中间件团队的专栏

跨园区容灾,升级不停服:高可用负载均衡集群实践

近期,针对一些客户对腾讯云产品可用性的问询,腾讯云基础产品团队对负载均衡产品的原理做出详细阐述,并希望通过对腾讯负载均衡集群底层架构的实现的讲解分析,揭示其强劲...

1.7K0
来自专栏数据和云

恒丰银行 I MySQL MGR与Galera性能测试买家秀

作者介绍: 赵守斌,十年银行业数据库管理经验,熟悉各种Oracle数据库系统方案,对MySQL开源数据库也有涉猎。目前牵头负责恒丰银行数据库管理和各类数据库服务...

3656
来自专栏数据和云

警惕数据库假期综合症

很多客户和企业经常选择在节假日进行数据库维护,而工程师也经常很容易在假期前后产生“假期松懈症”,所以通常假期附近总是企业运维事故多发期。墨菲定律无处不在,不要以...

2715
来自专栏北京马哥教育

业务运维部门的岗位价值与DCOS

岗位价值有: 权限缩小 提供操作安全的保险服务 提供操作的可扩展性 提供业务和资源能见度 屏蔽资源的部署细节 静态资源调平 动态资源调平 故障处理和善后 权...

3384

扫描关注云+社区