如何在阿里云上构建高可用的跨AZ部署方案

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
传统型负载均衡 CLB,每月750个小时 15LCU
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 引言 针对企业而言不管业务是不是在云上服务的稳定和连续性总归是无法回避的话题为了降低不可抗力因素对服务提供造成的影响我们有了高可用性和容灾的概念。虽然我们的产品已有很高的可用性我们仍不能忽视构建服务高可用性和容灾的重要性。

引言

针对企业而言,不管业务是不是在云上,服务的稳定和连续性总归无法回避的话题为了降低不可抗力因素对服务提供造成的影响,我们有了高可用性和容灾的概念。虽然我们的产品已有很高的可用性,我们仍不能忽视构建服务高可用性和容灾的重要性。

针对一般企业而言,主要会用到ECS, SLB, RDS, OSS

产品介绍:

ECS

云服务器。相当于阿里云上的虚拟机,本身没有高可用性容灾需要通过架构来实现。

SLB

负载均衡,高可用性和容灾可以从两点阐述:

1. 负载均衡的服务提供是基于集群部署的,各集群有一定数量的节点,避免了单点故障,个别或者部分节点服务器宕机不会影响负载均衡服务的提供。

2. 当前提供的负载均衡实例大多多可用区实例,主备实例在同城不同可用区机房,当主实例机房出现故障,能及时进行切换来实现容灾和服务的高可用性。

多可用区实例分布可以参考:

https://help.aliyun.com/document_detail/52395.html

RDS

云数据库

单机基础RDShttps://help.aliyun.com/document_detail/48980.html

双机高可用版RDS在同一可用区有主备实例,在主实例出现故障时候可以进行主备切换,具有高可用和容灾特性.

可用区RDS:主备实例在不同可用区

RDS之间还可以用DTS同步和迁移数据。

OSS

文件以chunk分块方式存储,默认每块存三副本,并分布在不同机架的ChunkServer节点上。在盘古集群中Master允许宕机1,Chunkserver允许同时宕机2,KVServerWS允许宕机多台。

基本架构:

一. 多可用区SLB 不同可用区ECS

如下图所示,在负载均衡实例下绑定不同可用区的 ECS,当可用区A未出现故障时,用户访问流量如蓝色实线所示;当可用区A发生故障时,用户访问流量的分发将变成黑色虚线,这样即可以避免因为单个可用区的故障而导致对外服务的不可用,也可以通过不同产品间可用区的选择来降低延迟

ad70b3acdbc89bb18a7051e1c76ed0fe8852c3f0

搭建

1.创建多可用区SLB实例

登录阿里云控制台,选择负载均衡,点击右上角“创建负载均衡”按钮

3f3725f395386ed1ab40748b5b06a46a92a090af

以华北2为例,购主可用区B可用区A多可用区实例。

4242fa8740f4264ef7791f0ebee262de1cad7704

2.SLB主备可用区分别创建ECS实例

98ecf3fe10788f7db35db1a6799bb48962b2a8ac

分别在华北2可用区AB创建测试实例,本例中采用默认安全组,经典网络11G内存CentOS 7.2实例

f12bf220a3f3bc5ea084dd3422b5abfdd9fd996a

3.创建监听并添加后端服务器

在控制台负载均衡界面,找到创建的实例,点击“管理”

1fcfb454b8bb404dbd1dd07bfe885ae8e98f0378

点击后端服务器,选择未添加的服务器,找到对应实例并点击添加

8950e9773e403db57a999e42ad08e6f1941e6cbe

我们可以在已添加界面看到对应ECS实例及其权重

5c76ebe38154c52e2c231424c06aaa287fcaf648

点击左侧监听栏,选择“添加监听”,根据需要选择监听属性。本例采用TCP四层模式,监听80端口,后端转发80端口使用默认加权轮询,并开启会话保持使用默认1000s超时时间。

22570f86feb694a7ff4a87bac337ac5966a3a7f6

设置健康检查为TCP模式,检查后端80端口

afc818cb67337517cb3c3fa8fa7bf8cc75480d36

之后我们可以在监听页面看到添加的监听及其状态。

1dbfad4630787239e30a986850631e0d6304d474

后续客户只需要在ECS部署相关服务并监听80端口,并将域名解析到SLB公网IP那么负载均衡即可将请求转发到后端ECS提供服务。

二. 多可用区SLB + 不同可用区ECS +高可用RDS

可用区版RDS

4b2fb318d3e7a83500339300c1427e16ebed4a8e

对于没有多可用区RDS地域,可以对应可用区分别建立一台RDS其中备用可用区的作为备库,跟主可用区的RDS实例进行同步。

786c15599f3f04ebe9aad68a9f24ab1d74180d5c

搭建

多可用区RDS情况:

在多可用区SLB和不同可用区ECS基础上,购买rds实例:

6d8ea5419a210dbd218159d62cc6d6c4f2b1bdde

只有部分地域有多可用区RDS

662fa37813b9f88e5119351588d3c0efc4b96522

购买后可以在控制台查看:

d31ae1fdd0d1ace6c1222ac4e519716c5a71b981

同样在控制台我们可以查看RDS高可用信息以及进行主备切换:

93c0d107afbddfb5048236d9ad9b5c2c9c1ea3e1

不同可用区分别搭建RDS情况:

分别在可用区AB购买双机高可用RDS然后创建DTS同步

bdbd20343579227c5004efb6a8d453102ebdc6ae

99a7d20a068066bbb4ad59aadf0af725b331d056


具体同步作业创建参考:

https://help.aliyun.com/document_detail/26633.html?spm=5176.doc26592.6.597.1CsqxD

三.高可用性-异地容灾

13e1fdbc66f33540b491b9f03df1b7187cb5de09

前面同城多可用区的情况下,异地也部署一套环境。

具体访问哪边可以配置DNS解析RDSDTS同步

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
SQL 容灾 关系型数据库
让X不断延伸, 从跨AZ到跨Region再到跨Cloud
本文从“空间”这一维度,聊一聊PolarDB-X在跨空间部署能力上的不断发展和延伸,以及在不同空间范围下的高可用和容灾能力,并着重介绍一下最新的产品能力——GDN(Global Database Network)。
|
2月前
|
Cloud Native
云原生架构之X无限延伸:跨AZ、跨Region、跨Cloud,一文让你彻底解锁!
【8月更文挑战第25天】在云原生架构中,可扩展性至关重要,它确保了应用能按需高效调整资源。本文聚焦于三种扩展策略:跨AZ、跨Region及跨云扩展。跨AZ扩展通过在同一云内部不同可用区间部署应用副本增强容错性;跨Region扩展则通过不同地理区域的应用副本部署提升全球访问性能与可靠性;而跨云扩展则利用多云环境进一步加强应用的弹性和覆盖范围。文中提供了基于AWS CloudFormation的具体实践示例,帮助读者深入理解这些扩展机制的实际应用。
78 2
|
3月前
|
容灾 网络协议 中间件
云上应用管理问题之在多可用区下构建容灾能力,如何解决
云上应用管理问题之在多可用区下构建容灾能力,如何解决
|
Kubernetes 负载均衡 Cloud Native
【云原生】搭建k8s高可用集群—更新于2023.04(上)
【云原生】搭建k8s高可用集群—更新于2023.04(上)
315 0
|
Kubernetes Cloud Native 应用服务中间件
【云原生】搭建k8s高可用集群—更新于2023.04(下)
【云原生】搭建k8s高可用集群—更新于2023.04(下)
315 0
|
存储 缓存 人工智能
基于 ACK Fluid 的混合云优化数据访问(五):自动化跨区域中心数据分发
基于 ACK Fluid 的混合云优化数据访问(五):自动化跨区域中心数据分发
39916 0
|
Cloud Native 容灾
《云原生时代下的分布式云多集群管理-容灾,弹性,多集群负载分布》电子版地址
云原生时代下的分布式云多集群管理-容灾,弹性,多集群负载分布
201 0
《云原生时代下的分布式云多集群管理-容灾,弹性,多集群负载分布》电子版地址
|
负载均衡 容灾 NoSQL
【服务器系列】高可用方案
高可用的一些解决方案冷备双机热备同城双活异地双活异地多活。
421 0
【服务器系列】高可用方案
|
Kubernetes 监控 Cloud Native
云原生系列二:如何实现跨数百个K8s集群的管理
​  今天就由叶秋学长带领大家学习云原生专栏系列二:如何实现跨数百个K8s集群的管理? Intuit 实现数百个K8s集群的管理 Intuit公司成立于1983年。它以个人财经软件为主要产品。2019年10月入选《财富》杂志“2019未来50强榜单”,排第21位。截至当年,Intuit公司4大BU、30个业务部门运行了大约160个K8s集群,大约5400个名称空间,每天要进行1300次的部署。那么他是如何做到,今天我们做一个简单的讲解。 首先就是为什么Intuit公司要划分如此多的集群?他们希望在不同的业务部门之间实现隔离,并且各业务部门能够拥有自主权;其次,为了满足合规,将审计限
430 0
云原生系列二:如何实现跨数百个K8s集群的管理
|
存储 编解码 JSON
Elasticsearch 跨网络、跨集群同步选型指南
1、两个同步实战问题 问题1:我想从目前的阿里云上6.7版本的es商业版,迁移到自己的7.10的自建环境,证书不一样,无法远程 无法ccr,有没有实时同步的工具呀?还是只能用logstash ? 问题2:es 2个索引数据同步有什么组件或者方案吗?
1119 0
Elasticsearch 跨网络、跨集群同步选型指南