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

引言

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

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

产品介绍:

ECS

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

SLB

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

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

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

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

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

RDS

云数据库。

单机基础版RDS:https://help.aliyun.com/document_detail/48980.html

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

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

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

OSS

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

基本架构:

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

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

搭建:

1.创建多可用区SLB实例

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

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

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

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

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

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

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

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

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

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

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

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

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

多可用区版RDS:

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

搭建:

多可用区RDS的情况:

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

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

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

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

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

分别在可用区A和B购买双机高可用RDS。然后创建DTS同步

具体同步作业创建参考:

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

三.高可用性-异地容灾

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

具体访问哪边可以配置DNS解析,RDS用DTS同步。

时间: 2024-09-19 17:47:13

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

如何在阿里云上构建高可用应用

业务高可用是我们每个项目的需求,一个经常故障的项目,会让我们觉得不靠谱而选择放弃,从而导致项目的失败.今天,我们来聊一聊,如何让你自己的业务能够更加稳固的运行! 本次我们从四个不同的角度,来分析,如何让我们的应用更加稳固,平稳运行. 一.        程序架构 优秀的代码 优秀的代码非常重要,即使我们拥有最好的硬件资源和架构,如果我们没有一套健壮的代码,其他资源再好都没有用,所以代码在设计和编写时,应当注意代码的健壮程度.优秀的代码不止开发起来方便,同时维护成本也较低,对于后续的优化来说,健壮

阿里云上SAP高可用配置

1.部署架构          比较典型的SAP应用是搭建在小型机UNIX系统上的,小型机都有厂家提供的HA软件,比如IBM的PowerHA.这样的方案也是被SAP认证通过的.目前,SUSE LINUX也是被SAP认证通过的,但是在云上,尤其是HA的方案,还没有完全成型,本文档重点探索的就是如何在阿里云ECS Linux环境搭建一套可行的HA方案提供给SAP系统使用.          我们以SAP AFS(Apprarel and Footwear Solution),即SAP在服装鞋帽行业的

快速在阿里云上构建机器学习应用

3月28日云栖大会开源专场,阿里云技术专家必嘫给大家带来了"在阿里云上构建机器学习应用"的演讲.本文主要从深度学习应用发展历史开始谈起,进而介绍了如何结合阿里云容器服务的机器学习解决方案快速打造一套深度学习应用的案例. 深度学习应用发展的介绍 深度学习在2016年有两款应用特别火爆,影响到每个普通人的生活.第一个是会下围棋的AlphaGo,它向大家证明了计算机不只有强大的运算能力,同时具备了自学能力,更厉害的是这种学习能力是可以纵向深入的,换句话说,不需要人赋予的逻辑,计算机可以通过大

如何快速在阿里云上构建自己的机器学习应用

摘要:在2017云栖大会深圳峰会开源专场上,阿里云容器服务技术专家车漾做了题为<在阿里云上构建机器学习应用>的精彩演讲,车漾首先从2016年深度学习最火的两个应用AlphaGo与Prisma谈起,从宏观层面分享了机器学习以及深度学习所做的事情,并就Prisma的发展故事谈起,为大家介绍了应该学会以工程思想思考和解决问题,并着重介绍了阿里云基于容器服务的机器学习解决方案架构设计以及如何借助阿里云快速搭建自己的机器学习应用,精彩不容错过. 以下内容根据嘉宾演讲视频以及PPT整理而成. 在2016年

阿里云容器服务-高可用Kubernetes部署指南

Kubernetes是非常流行的容器管控技术,为了让Kubernetes可以更深度集成阿里云的计算.存储和网络服务,以提供更佳的性能和网络特性支持,阿里云容器服务团队为Kubernetes提供了基于阿里云服务的CloudProvider插件. 同时,基于阿里云资源编排服务ROS的应用部署能力,阿里云用户可以非常方便的快速部署Kubernetes集群.本文接下来会详细介绍部署过程. 依赖条件 需要事先开通访问控制RAM服务,访问https://ram.console.aliyun.com点击开通服

玩转阿里云上Kubernetes 1.7.2 高可用部署

随着Kubernetes社区的不断壮大,其版本不断更迭,新功能及BugFIX也不断更新,促使其部署方式也不断的变化,本文将带您在阿里云上快速的部署一个高可用的Kubernetes集群.并且添加阿里云CloudProvider支持,让您可以方便的自由的使用阿里云上的SLB,NAS,阿里云盘,VPC网络等云资源. 部署结构图 如上图,脚本通过执行SSH命令的方式部署一个M + N节点的Kubernetes集群,M=Number(Master) N=Number(Worker). 支持VPC网络,确保

从运维的角度分析使用阿里云数据库RDS的必要性--你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库

开宗明义,你不应该在阿里云上使用自建的MySQL or SQL Server数据库,对了,还有Oracle or PostgreSQL数据库. 云数据库 RDS(Relational Database Service)是一种稳定可靠.可弹性伸缩的在线数据库服务.基于飞天分布式系统和全SSD盘高性能存储,支持MySQL.SQL Server.PostgreSQL和PPAS(高度兼容Oracle)引擎,默认部署主备架构且提供了容灾.备份.恢复.监控.迁移等方面的全套解决方案. 当然,并不是指所有用户

在阿里云上部署生产级别Kubernetes集群

阿里云是国内非常受欢迎的基础云平台,随着Kubernetes的普及,越来越多的企业开始筹划在阿里云上部署自己的Kubernetes集群.本文将结合实战中总结的经验,分析和归纳一套在阿里云上部署生产级别Kubernetes集群的方法.文中所采取的技术方案具有一定的主观性,供各位读者参考.在实践中可以根据具体使用场景进行优化. 目标 当我们刚接触Kubernetes进行测试集群的搭建时,往往会选择一篇已有的教程,照着教程完成集群搭建.我们很少去质疑教程作者每一步操作的合理性,只想快点把集群搭建起来,

Consul实践之Consul结合nginx构建高可用可扩展的Web服务

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1730439 前文<Consul实践之Consul是什么>讲述了consul是什么,这篇文档是一个Consul实际应用的一个例子,用Consul结合nginx构建高可用可扩展的Web服务.Consul还能做许多其他的事情,可以根据实际需要构思和使用. 方案概述 nginx提供的负载均衡服务同样支持高可用.可扩展的W