写点什么

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

  • 2019-10-25
  • 本文字数:2938 字

    阅读完需:约 10 分钟

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

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

一、业务连续性

业务连续性(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 系统的架构分层,图片来源于网络,供参考 ]


CDB for MySQL 灾备

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

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


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

2CDB 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

异地(跨地域容灾)架构

两地三中心架构


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


  • CVM 镜像:目前支持跨地域复制,但是制作镜像需要关机;

  • COS 复制:后续会支持跨园区复制的功能;

  • DTS 复制:创建数据库同步任务;

  • CLB 多可用区:目前只有金融专区支持;

  • MySQL 多可用区:目前只有深圳金融区支持;


本文转载自公众号云加社区(ID:QcloudCommunity)。


原文链接:


https://mp.weixin.qq.com/s/PTS4lP9zJnhQnVNrWLJFOg


2019-10-25 18:002321

评论

发布
暂无评论
发现更多内容

直播源码搭建平台技术知识:实时语音识别字幕呈现功能

山东布谷科技

源码 软件开发 源码搭建 直播源码

Wallys/board with SFP module /ipq8072/ipq6010/ipq4019 / support openwrt

Cindy-wallys

IPQ4019 IPQ6010 IPQ8072 ipq4029

深入剖析spring核心容器依赖注入类型和原理:Spring依赖注入类型

互联网架构师小马

全球异型LED显示屏的市场发展

Dylan

技术 设计 领域 LED显示屏 市场

智造零距离:工程师走访华秋深圳 PCB 工厂,观摩高可靠板制造流程

华秋电子

小程序容器技术:数字门户的创新引擎

FinClip

CQ 社区版 v2.1.0 发布 | 新增数据发布变更、内置脱敏规则等功能

BinTools图尔兹

运维 数据库管理 数据脱敏 CloudQuery 数据变更

探索开源创新理论|2023开放原子全球开源峰会开源创新理论与实践分论坛成功召开

开放原子开源基金会

开源 开放原子全球开源峰会 开放原子 开源创新理论

大佬带你深入理解Spring依赖注入原理:bean的注册及实例化

互联网架构师小马

Wise 的平台工程 KPI 探索之旅

SEAL安全

KPI 平台工程

当 Rokid 遇上函数计算

Serverless Devs

iOS 单元测试之常用框架 OCMock 详解 | 京东云技术团队

京东科技开发者

ios 测试 单元测试 Mock 企业号 6 月 PK 榜

HTTP请求:requests的进阶使用方法浅析 | 京东云技术团队

京东科技开发者

Python HTTP请求 requests 企业号 6 月 PK 榜

浅谈中移链中插件的功能及使用

BSN研习社

区块链

Spring循环依赖案例分析:三级缓存结构+循环依赖解决方案

互联网架构师小马

CST电磁仿真软件对火箭发射场雷击仿真与电子设备结构设计

思茂信息

cst cst仿真软件 abaqus abaqus软件 abaqus有限元仿真

【6.09-6.16】写作社区优秀技术博文一览

InfoQ写作社区官方

热门活动 优质创作周报

TiDB v7.1.0版本 相关(部署、在线扩容、数据迁移)测试

TiDB 社区干货传送门

版本测评 新版本/特性发布 扩/缩容 数据库连接 7.x 实践

Docker 与 Kubernetes:打造高效微服务架构的最佳实践

xfgg

Java Docker Kubernetes 6 月 优质更文活动

6 种方式读取 Springboot 的配置,老鸟都这么玩(原理+实战)

程序员小富

springboot

HTTP请求:requests模块基础使用必知必会 | 京东云技术团队

京东科技开发者

Python HTTP请求 requests 企业号 6 月 PK 榜

2023年全国高校公益人工智能师资培训营报名正式开启

飞桨PaddlePaddle

人工智能 百度 飞桨

Java8 Stream 的总体设计和使用

4ye

Java' 6 月 优质更文活动

【TiDB v7.1.0 荣誉体验官招募】索尼 PS5 、索尼无线降噪耳机、倍轻松颈部按摩器等你拿!

TiDB 社区干货传送门

IT服务台智能助手,真的靠谱吗?

嘉为蓝鲸

智能助手 GPT IT服务 ChatGPT

Python自动化测试的配置层实现方式对标与落地 | 京东云技术团队

京东科技开发者

Python 自动化测试 配置文件 企业号 6 月 PK 榜

「有问必答」Go如何优雅的对时间进行格式化?

王中阳Go

高效工作 学习方法 面试题 Go 语言 6 月 优质更文活动

TiDB v7.1.0 版本 Resource Control体验

TiDB 社区干货传送门

新版本/特性解读 7.x 实践

TiDB 7.1 资源管控特性试用

TiDB 社区干货传送门

新版本/特性解读 7.x 实践

搭建TiDB负载均衡环境-HAproxy+KeepAlived实践

TiDB 社区干货传送门

实践案例 管理与运维 数据库架构设计 7.x 实践

搭建TiDB负载均衡环境-LVS+KeepAlived实践

TiDB 社区干货传送门

管理与运维 7.x 实践

腾讯云高可用和容灾解决方案_文化 & 方法_涂小敏_InfoQ精选文章