阿里云高可用-容灾解决方案

摘要: 即使阿里云产品自己就有容灾、高可用的特征,可是由于一些用户对阿里云产品的不了解和自身应用架构不够合理,也根本没法使其发挥该优点。前端

这两天,一篇名为《IT之家因没法忍受阿里云而迁移至XX云》的文章引发了整个云计算行业的热议。(袋鼠云CTO江枫还专门写了一篇热评:点击阅读原文。)web

从目前获得的信息看,其应该是在青岛区域购买了一台云服务器ECS,基于.net和自建SQL Server,而且应用和数据库跑在同一台云服务器上。数据库

IT之家,全部应用都部署在单台ECS上,不具有高可用的特性。后端

即使阿里云产品自己就有容灾、高可用的特征,可是由于一些用户对阿里云产品的不了解和自身应用架构不够合理,也根本没法使其发挥该优点。安全

其实,IT之家的事情不是个例,有不少其余企业在这方面很头疼。服务器

因此,袋鼠云技术专家结合以往实践经验,总结出了一套切实可行的《阿里云高可用-容灾解决方案》,但愿能和各位阿里云上用户一块儿探讨。网络

 

1、阿里云产品容灾-高可用介绍架构

 

一、 SLB 容灾-高可用介绍

阿里云SLB产品使用开源软件LVS+keeplived实现4层的负载均衡。负载均衡

采用淘宝的Tengine实现7层的负载均衡。全部负载均衡均采用集群部署,集群之间实时会话同步,以消除服务器单点,提高冗余,保证服务稳定。在各个地域采用多物理机房部署,实现同城容灾。运维

SLB在总体设计上让其可用性高达99.99%。且可以根据应用负载进行弹性扩容,在任意一台SLB故障或流量波动等状况下都能作到不中断对外服务。

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
图一

 

二、 ECS 容灾-高可用介绍

 

云服务器ECS实例是一个虚拟的计算环境,包含了 CPU、内存、操做系统、磁盘、带宽等最基础的服务器组件,是ECS提供给每一个用户的操做实体,就如同咱们平时使用的虚机。

但须要确认的是,ECS自身是没有容灾和高可用方面的功能。

因此当咱们在单台ECS服务器上部署各类应用时,特别是对于那些将应用服务,数据库服务等都打包安装在单台ECS服务器时就更要注意这点了。

那ECS自身没有容灾-高可用这样的功能,对于在单台ECS上部署各类服务,一旦ECS故障就只能眼睁睁的看着它down机对外中止服务么?

此时若是产品自身没有容灾和高可用功能,咱们能够从架构上来弥补这个短板。

好比:在应用前端购买SLB产品,后端相同应用部署至少两台ECS服务器,或者是使用阿里云的弹性伸缩技术,根据自定义ECS自身资源的使用规则来进行弹性扩容。这样即使其中一台ECS服务器down机或者资源利用超负荷,也不会使咱们的服务对外终止。

ECS具有的一些优点:

稳定性: 服务可用性高达 99.95%,数据可靠性高达 99.9999999%。

容灾备份: 每份数据多份副本存储。

弹性扩容:支持在线不停机升级带宽;5分钟内停机升级CPU和内存。

成本低:无需一次性大投入,按需购买,弹性付费,灵活应对业务变化。

 

三、OSS 容灾-高可用介绍

 

阿里云对象存储服务(简称OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。

OSS底层依托于盘古存储,采用分布式架构部署,无单点故障存在。文件以chunk分块方式存储,默认每块存三副本,并分布在不一样机架的ChunkServer节点上。在盘古集群中Master容许宕机1台,Chunkserver容许同时宕机2台,KVServer与WS容许宕机多台。KV集群采用CS架构,故障自动恢复, 对应用透明,WS为无状态接入层,经过SLB实现容错与负载分担。

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
图二 

 

四、RDS 容灾-高可用介绍

 

阿里云关系型数据库(简称RDS):是一种稳定可靠、可弹性伸缩的在线数据库服务。

RDS默认采用主备架构(备用实例正常状况下对用户不可见),两个实例位于不一样服务器,自动同步数据。主实例不可用时,系统会自动将数据库链接切换至备用实例。切换是分钟级别,并且不须要人工介入,所有由系统自动完成,应用系统也无需任何变动。这种架构足以知足90% 用户的高可用需求。

 

以下图:

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
图三

 

用户若是对系统可用性有更高的要求,但愿能够作到机房容灾,阿里云RDS能够选择购买多可用区RDS。多可用区是在单可用区的级别上,将同一地域的多个单可用区组合成的物理区域。相对于单可用区RDS实例,多可用区RDS例能够承受更高级别的灾难,以下图:

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

图四:RDS同城容灾架构

 

除了同城容灾以外,对于数据可靠性有强需求用户,好比是有监管需求的金融业务场景,RDS提供异地灾备实例,帮助用户提高数据可靠性。

RDS经过数据传输服务(DTS)实现主实例和异地灾备实例之间的实时同步。主实例和灾备实例均搭建主备高可用架构,当主实例所在区域发生突发性天然灾害等情况,主节点(Master)和备节点(Slave)均没法链接时,可将异地灾备实例切换为主实例,在应用端修改数据库连接地址后,便可快速恢复应用的业务访问。

 

以下图:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

图五:RDS异地容灾架构

 

 

2、容灾-高可用架构方案

 

一、云上容灾-高可用架构--通用架构

 

在阿里云平台上,对于中小型企业,业务量不是特别大,对异地容灾要求不是特别强烈,则可采用如下高可用方案(以下图:图六),能够在同一地域下选择购买云产品。建议在VPC网络环境下,选择同一可用区或者同地域不一样可用区的云产品。

同时建议ECS服务器至少两台,避免单点故障,在前端购买SLB,提供负载功能,这样当后端ECS资源使用紧张时能够直接横向扩展,对业务无影响。

另外,数据库业务尽可能不要和应用服务部署在同一台ECS上。防止不一样服务之间资源抢占,同时方便平常管理和后期扩容。数据库服务器推荐直接购买RDS产品,数据安全有保障,同时也不须要花太多精力去运维管理。

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

图六

 

二、云上容灾-高可用架构—同城容灾

 

对中大型用户来讲,但愿业务系统要求具有同城容灾的能力,能够考虑在同城不一样可用区之间对原有应用架构作一套完整的备份。若是某个能够去出现像IDC机房断电或者火灾等故障时,能够经过前端切换DNS来及时恢复业务。

以下图:

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
图七

 

三、云上容灾-高可用架构—同城异地容灾

 

对于一些大型企业在业务安全全性、服务可用性和数据可靠性方面既要求具有同城容灾又要求具有异地容灾时,能够采用这种容灾架构方式既能够解决单机房故障也能够应对像地震等灾难性故障。

不一样地域之间能够采用阿里云的高速通道进行私网通讯,保障数据库之间的数据实时同步,将数据传输延迟降到最低。故障发生时能够经过前端DNS实现秒级切换,及时恢复业务。

以下图:

 

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=
图八

 

想要更多了解阿里云产品及实践案例

相关文章
相关标签/搜索