公有云:高可用架构设计

一、高可用概述
1.什么是高可用?
可用性是指服务的可持续供给。
高可用是指系统能够在较长时间内持续提供服务的能力。
2.如何评价高可用?
如果发生灾难,最好能做到快速且数据无损的恢复。
如做不到,那么服务在多少时间内恢复,能够恢复到灾难前什么时间点的数据,这里涉及到两个概念:RTO(Recovery Time Objective,恢复时间目标)和RPO(Recovery Point Objective,恢复点目标)。也就是说,RTO是指应用恢复提供服务的时间,RPO是指会有多少时间数据会丢失。
公有云:高可用架构设计
依据RTO和RPO确定信息系统的灾难恢复能力。
公有云:高可用架构设计
3.如何实现高可用?
一个是备份,另一个是容灾。
备份指的是将全部或部分数据集合从生产主机硬盘或阵列中保存到其他的存储介质的过程。
容灾的实现方式通常是在备份机房构建一套相同的应用系统。
备份主要关注数据的安全性和完整性,而灾备则更侧重于保障业务的连续性。
具体参考《公有云:高可用》
本质上是通过空间来换时间,也就是通过软硬件的冗余来实现系统的持续服务。
公有云:高可用架构设计
进一步来讲,为实现备份方案、数据级容灾方案和应用级容灾方案,公有云需要:
(1)提升云产品本身的备份/容灾能力:ECS、SLB、RDS、OSS。
(2)提供备份/容灾产品以及对应的容灾方案:DBS、DTS、混合云容灾服务HDR、应用高可用服务AHAS。
二、云产品本身的备份/容灾能力
1.ECS
ECS的云盘可以提供多副本的数据容灾能力。
ECS可以使用部署集和弹性伸缩组,提供容灾能力。
2.负载均衡CLB
CLB可以实现同城容灾和跨地域容灾。
(1)同城容灾
阿里云为提供稳定、可靠的负载均衡服务,实现了CLB在各地域多可用区部署。
当主可用区出现机房故障或不可用时,CLB在非常短的时间内(大约30s中断)自动切换到备可用区以提供服务;
当主可用区恢复时,CLB同样会自动切换到主可用区提供服务。
注:简单地说,用户订购CLB时,前台页面默认配置备可用区。当提交订购时,云平台会在同一地域的主备可用区同时启动CLB实例。订购成功后,就以主备的形式对外提供服务,主可用区CLB服务挂掉或恢复后,主备CLB会自动切换。这样便实现CLB的同城容灾。
公有云:高可用架构设计
对于CLB下绑定的ECS实例,可以将ECS实例部署在不同的可用区。
公有云:高可用架构设计
正常情况下,用户访问流量将同时转发至主、备可用区内的ECS实例;当可用区A发生故障时,用户访问流量将只转发至备可用区内的ECS实例。这样的部署方式做到了ECS的同城容灾
也可以将ECS实例只部署在主可用区。
公有云:高可用架构设计
正常情况下,用户访问流量将只转发至主可用区内的ECS实例,比较于上图,流量传输延时低;当可用区A发生故障时会造成业务中断,因为备可用区没有ECS实例来接收请求。这样的部署方式很明显是以牺牲高可用性为代价来获取低延时
(2)跨地域容灾
在不同地域下部署CLB实例,并分别挂载相应地域内不同可用区的ECS。上层利用云解析做智能DNS,将域名解析到不同地域的CLB实例服务地址下,可实现全局CLB。当某个地域出现不可用时,暂停对应解析即可实现所有用户访问不受影响。
公有云:高可用架构设计
3.RDS
公有云:高可用架构设计
高可用系列实例有一个备节点,根据所选 参数模板 的不同,主节点的数据会通过 半同步 或 异步 的方式同步到备节点,当主节点出现故障无法访问时,会自动切换到备节点。
说明:备节点可以访问吗?不可以访问。您只能访问主节点,备节点仅作为备份形式存在,不提供业务访问。
高可用系列实例的主备节点可以部署在同一地域里的相同或不同可用区,部署在不同可用区可以实现实例的跨可用区容灾,提升实例的可用性。
高可用系列实例的主备节点不可以跨地域
集群系列可以进行多可用区容灾,相比高可用系列一主一备两个可用区容灾,RDS MySQL集群系列实例的每个备节点均可参与容灾切换,建议将每个节点配置在不同的可用区,实现多可用区容灾。
公有云:高可用架构设计
4.OSS
(1)数据安全—>同城冗余存储
用户在创建Bucket时,可选择存储冗余类型。
用户创建Bucket成功后,同城冗余存储不能转换
公有云:高可用架构设计
这样,就可以实现OSS的多可用区(AZ)内的数据冗余存储,也就是提供机房级容灾能力,保障数据的安全。提供99.9999999999%(12个9)的数据设计持久性以及99.995%的服务可用性
(2)数据管理 —> 跨区域复制
OSS支持跨区域复制功能,您可以通过跨区域复制功能将文件的创建、更新和删除等操作从源存储空间复制到不同地域下的目标存储空间,实现数据的异地容灾。
公有云:高可用架构设计
应用场景有:合规性要求(数据需要跨一定距离保存一份副本)、最大限度减少延迟、数据备份与容灾。
三、备份/容灾产品
1. DBS
数据库备份DBS(Database Backup)是阿里云提供的低成本、高可靠的云原生数据库备份平台。
公有云:高可用架构设计
常用的数据备份方式为逻辑备份、物理备份与快照:
  • 逻辑备份:数据库对象级备份,备份内容是表、索引、存储过程等数据库对象,常见工具为MySQL mysqldump、Oracle exp/imp等。
  • 物理备份:数据库文件级备份,备份内容是操作系统上数据库文件,常见工具为MySQL XtraBackup、Oracle RMAN等。
  • 快照:基于快照技术获取指定数据集合的一个完全可用拷贝,随后可以选择仅在本机上维护快照,或者对快照进行数据跨机备份,常见工具为文件系统Veritas File System、卷管理器Linux LVM、存储子系统NetApp NAS等。
DBS支持物理备份和逻辑备份。
2.DTS
数据传输服务(Data Transmission Service,简称DTS)**支持关系型数据库、NoSQL、大数据(OLAP)等数据源,集数据迁移、订阅及实时同步功能于一体,能够解决公共云、混合云场景下,远距离、秒级异步数据传输难题。
公有云:高可用架构设计
数据迁移主要用于上云迁移,其增量迁移时,类似于数据同步。数据迁移属于一次性任务,迁移完成后即可释放实例。
公有云:高可用架构设计
数据同步主要用于两个数据源之间的数据实时同步,适用于异地多活、数据灾备、跨境数据同步、查询与报表分流、云BI及实时数据仓库等场景。它属于持续性任务,任务创建后会一直同步数据,保持数据源和数据目标的数据一致性。其工作原理类似于数据传输。
公有云:高可用架构设计
应用场景之加速全球化业务访问速度
公有云:高可用架构设计
3. HDR
混合云容灾服务 Hybrid Disaster Recovery是一个为数据中心提供企业级应用的本地备份与云上容灾一体化的服务。
HDR能够进行数据级容灾和应用级容灾。
HDR支持的数据复制技术有:连续复制型容灾CDR(Continuous Data Replication)和云盘异步复制型容灾。
公有云:高可用架构设计
公有云:高可用架构设计
四、企业混合云容灾中心方案
1.相关知识
容灾是混合云的重要应用场景,也就是在专有云或IDC与公有云之间的混合云方案。
容灾也可以通过同城容灾、两地三中心来实现,具体参考《公有云:高可用》
容灾能力分为数据容灾、应用容灾和业务容灾。
(1)数据容灾是指建立远程的数据备份中心,并将本地IDC数据备份到远程的数据备份中心。备份可以使用的工具有:使用DBS进行数据库冷备、使用DTS进行数据库的热备、使用HBR进行文件备份。
(2)应用容灾是指在数据容灾的基础上,在远程容灾中心构建一套相同的应用系统,包括主机、网络、应用等。主要用来实现业务的连续性。应用容灾可以使用HDR进行。
2.搭建应用容灾中心
搭建流程:方案规划—>环境准备—>系统部署—>容灾演练。
(1)方案规划
定位于高等级应用容灾能力,基于HDR的连续复制型容灾服务,构建应用容灾中心。
A. 部署架构
CDR的业务逻辑架构包括IDC和云上VPC网络。
a. 正常情况下,IDC的主机对外提供服务,同时通过互联线路(VPN或专线)与云上ECS进行I/O的强同步。
b.当IDC出现故障时,通过管控平台,快速拉起容灾ECS,并将应用服务入口切换至ECS。
c. IDC恢复后,通过通过管控平台,再次切换至IDC主机。
公有云:高可用架构设计
B. 实施步骤
实施步骤如下图所示:
公有云:高可用架构设计
CDR网关:负责聚合来自所有被容灾保护的服务器上的实时数据流并传输到云上容灾网络环境中。可以选用虚拟机或硬件安装。
阿里云复制服务:从网关提供的链接下载阿里云复制服务(AReS)的安装包,并在应用服务器上完成安装。阿里云复制服务(AReS)会通过CDR网关将服务器实时复制到阿里云上。
C. 关键应用
了解并分析关键应用系统的部署、环境依赖和客户端的连接情况。
(2)环境准备
根据应用服务器的数量、数据量、RTORPO标准、环境设施要求,选择CDR灾备一体机并部署合适的网络环境。
(3)系统部署、容灾演练
按照实施步骤进行系统部署,并根据需求进行演练。
五、应用高可用服务
1.概述
多活容灾MSHA(Multi-Site High Availability),是在阿⾥巴巴电商业务环境演进出来的多活容灾架构解决⽅案。
多活容灾MSHA架构上将业务分为接入层、应用层、数据层三层,应用层又可以细分为微服务调用、消息等多个功能域,每一层都会有相应的多活组件,管控在各层组件的基础上具备全栈的多活管控能力。
公有云:高可用架构设计
(1)接入层
接⼊层是一个基于Tengine的多活组件,简称为MSFE。MSFE需要多单元部署,能承接所有的单元前端流量,并按照路由规则路由到正确单元的后端应⽤。多活控制台同时提供MSFE集群新建、扩容、缩容等常规运维能力。
(2)应用层
应⽤层是应用服务的抽象概括,对应RPC服务和消息,包含但不仅限于以下组件:
  • EDAS:EDAS提供微服务RPC能力,借助EDAS多活组件可以实现RPC多活,接入时需要稍作代码改造以及升级EDAS容器版本。
  • MQ:云产品消息MQ,借助MQ多活组件可以实现消息多活,接⼊时需要稍作代码改造以及在控制台配置消息多活属性。
(3)数据层
数据层是数据库服务的抽象概括,包括但不限于以下组件:
  • 多活数据Driver:由MSHA提供的多活读写数据库组件,负责处理多活场景下的数据禁写逻辑。
  • 数据同步DTS:基于DTS的单/双向同步能力,与多活管控共同配合完成多活容灾的数据同步控制逻辑处理。
2.容灾架构
MSHA提供三种容灾架构解决方案,包括同城多活、异地双活以及异地应用双活。
(1)同城多活
同个城市部署两个数据中⼼,同时为业务访问提供服务。
  • 同城机房间的物理距离通常≤50 km,跨机房的网络延迟较小(RT≤2 ms)。
  • 应用跨机房冗余部署,同时对外提供服务。
  • 中间件、数据库跨机房主备部署,数据单点写避免考虑数据一致性问题。
公有云:高可用架构设计
(2)异地双活
不同城市部署多个数据中心。多活一方面是多数据中心之间地位均等。
  • 两个数据中心间的距离没有限制。
  • 应用、中间件、数据库多地域冗余部署,同时对外提供服务。
  • 业务流量带标,按路由规则分流,流量在数据中心(RPC、MQ、DB)内闭环。
  • 多个数据中心数据异步复制。
    公有云:高可用架构设计

(3)异地应用双活
  • 两个数据中心的物理距离通常≤100 km,存在跨地域的网络延迟(RT≤7 ms)。
  • 应用、中间件两地冗余部署,同时对外提供服务。
  • 数据库两地冗余部署,两地应用单点写数据库,避免考虑数据一致性问题,数据异步复制。
公有云:高可用架构设计
三种容灾架构比较
公有云:高可用架构设计



原文始发于微信公众号(码农与软件时代):公有云:高可用架构设计

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/175998.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!