速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

  • 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:002397

评论

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

SpringBoot设计了哪些可拓展的机制?

做梦都在改BUG

突破规模化运维瓶颈 SREWorks云原生数智运维平台揭秘

阿里云大数据AI技术

大数据 运维 企业号 4 月 PK 榜 规模化

企业应用可观测性利器!华为云CodeArts APM发布

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

零拷贝浅析

数新网络官方账号

大数据 零拷贝

Github上标星68.5K,阿里巴巴《MySQL成长手册》火了

做梦都在改BUG

Java MySQL 数据库

从零开始学习 GraphQL:入门指南和教程

Apifox

程序员 gRPC 后端 协议 graphql

带你用三种不同的工具体验AI作诗

华为云开发者联盟

云计算 华为云 华为云开发者联盟 企业号 4 月 PK 榜

Seata:连接数据与应用

阿里巴巴云原生

阿里云 云原生 seata

面试官:如何动态的给一个类增加功能?

做梦都在改BUG

架构师才需要学习的知识:亿级流量调优方法+实战

做梦都在改BUG

Java 性能优化 性能调优

详解,LED显示屏灰度等级

Dylan

灰度 LED显示屏 色彩

记一次 MySQL 主从同步异常的排查记录,百转千回

做梦都在改BUG

Java MySQL 主从同步

数说热点|春暖花开日,露营正当时——当精致露营遇上新能源车

MobTech袤博科技

OpenHarmony3.2release抢先体验

坚果

OpenHarmony 三周年连更

深入理解 Redis 新特性:Stream

Java你猿哥

redis SSM框架 Redis 核心技术与实战 redis 底层原理

云原生助力数字原生企业业务快速迭代|阿里云峰会精彩回顾

阿里巴巴云原生

阿里云 云原生

高性能存储SIG月度动态:ANCK ublk完成POC测试,EROFS优化xattr元数据开销

OpenAnolis小助手

操作系统 内核 高性能存储 龙蜥社区 sig

阿里耗时1年:用283张图+24问完美诠释“Java并发编程”所有难点

做梦都在改BUG

Java 并发编程

小红书广告投放机制详解,如何用算法实现全站自动化投放

小红书技术REDtech

大数据 搜索

ChatGPT的狂欢背后:短板犹在,启发甚多,2023有这些事可以做……

小红书技术REDtech

人工智能 ChatGPT 活动回顾

原来XXL-JOB可以这么造

六月的雨在InfoQ

Serverless XXL-JOB SAE 三周年连更

Spring Cloud微服务网关Zuul过滤链实现的源码解读

做梦都在改BUG

论文解读:基于 OpenMLDB 的流式特征计算优化

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

C语言_sprintf固定字符串输出位数

DS小龙哥

三周年连更

eBPF动手实践系列一:解构内核源码eBPF样例编译过程

阿里云大数据AI技术

运维 代码 企业号 4 月 PK 榜

阿里P8:Java性能调优(独孤版),带你打造淘宝秒杀架构

做梦都在改BUG

Java 架构 性能调优

成长计划知识赋能 | 第十期:DAYU200开发入门秒Get

OpenHarmony开发者

OpenHarmony

MySQL8.0 优化器介绍(二)

GreatSQL

MySQL greatsql greatsql社区

从此告别写SQL!DataLeap帮你零门槛完成“数据探查”

字节跳动数据平台

MySQL 数据分析 数据治理 数据探查 企业号 4 月 PK 榜

对话大咖 | 人工智能+视频编解码能带来新的变革吗

小红书技术REDtech

人工智能 深度学习 活动回顾

镭速Raysync v6.6.8.0版本发布

镭速

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