浅析单点故障以及云上高可用和容灾

引言

故障,不管它发生的概率有多低,终归还是会发生的。
                                                                                    ——墨菲定律

概念

单点故障

顾名思义,单个点发生的故障,扩展到云上的环境,指的就是单个节点发生的故障导致整个链路瘫痪。这里的节点可以是一台服务器,一个数据库,一台网络设备,乃至一个应用程序。
打个简单的比方,一个加工厂流水线只有甲乙丙丁四名员工,一个加工需求进来,需要甲乙丙丁依次处理方能完成,此时针对流水线的作业,四名员工就是链路的单点,任何一人请假或者离职,流水线作业就无法正常,此时就形成了单点故障。

高可用

HA(High Availability)。字面意思,就是保障高可用性。这里的可用性,我们通常用平均无故障时间来度量,可以说平均运行多长时间才会发生一次故障,也可以以平均一个周期内非故障时间与总时间的比例来表示。

容灾

DR(Disaster Recovery)。字面意思是灾难恢复。在云上环境我们可以理解为保障灾难情况下系统和业务的正常运行。

通常我们容易将高可用和容灾混淆,它们都是考虑维持业务的持续性运行,规避单点故障,粗略来说不区分彼此亦无不可,如果需要更好地细分和理解,那么高可用注重的是维持业务在周期内更长的可运行时间,而容灾注重的是极端情况下的业务恢复。

云上单点故障

随着云的日益普及,越来越多人享受到了云给我们带来的便利。由于用户群体多样化的增加,用户之间运维水平和故障意识也呈现较大的差距,单点故障成为越来越多人需要面对的问题。

举个例子,当前一个常见的简单业务场景:

尤其针对小型网站服务,很多用户只是单一用一台服务器来承载Web应用和数据库。这种情况下,数据库、服务器或者服务器上的业务程序出问题了,发生了单点故障,那么整个业务链路就处于不可用状态。很多用户抱着侥幸心理,直到发生问题时候才惊醒,然而问题已经出现,损失已无法挽回。

使用误区

不少用户在享受云的便利性和性价比的时候,通常有一些理解的误区:

1. 云服务的可用性等同于业务的可用性

云服务提供商一般都有产品SLA,拿最基础的云服务器来说,阿里云基础的ECS服务器可用性是99.95%,
参考:https://help.aliyun.com/knowledge_detail/40683.html
用户在使用时候就容易觉得自己的业务在上面跑就是有这么高的可用性,但云服务器ECS的服务可用性不等于用户业务的可用性。此可用性是从云服务器基础设施可用性角度来说的,而云服务器提供给了用户,操作系统的选择以及后续系统和软件环境的部署和维护都是需要用户考虑的,内核、系统服务、业务程序、安全等各方面都有可能出现问题,从而影响业务的正常提供,而事实也往往是这些操作系统内的问题引发了业务的瘫痪,所以实际业务可用性通常都低于云服务可用性。退一万步来讲,只论云服务的可用性,放在一个较长的时间区间,不可用的时间也是一个不可忽视的数值,我们并不知道可能在什么时候发生,也不应该拿运气来赌。

2. 用了云服务,出现问题那肯定都是云服务商的问题

打个比方,张三买了套房,随后张三按自己喜好弄了欧式装修,购置了家电。此时冰箱坏了或者墙纸脱落,张三自然会去找电器和装修公司理论,而不会想到去找房地产商。
转化到云上,其实云上基础产品多是IaaS(Infrastructure as a Service)层的服务,仍拿阿里云ECS服务器来说,阿里云提供服务器资源,用户购买后可以自由灵活地在上面部署操作系统和软件环境,阿里云负责保障服务器的正常运行,而用户则需要对服务器内自己的操作系统和软件环境的正常运行负责,当然由于底层原因造成的影响仍是需要阿里云负责。
观念的转变是一个过程,也不是那么容易,但是划分清楚职责才有利于整个行业和生态的健康发展。

3. 高可用和容灾方案成本太高,划不来

针对不同的架构、需求和预算,有不同的高可用和容灾解决方案,如果实在成本有限,我们也可以优先针对业务链路上最容易出现问题的节点做高可用方案。尤其当前各行业竞争激烈,客户体验越来越重要,一次故障带来潜在的客户流失和体验下降的损失是不可估量的,而且挽回需要的投入往往比事先规避要大的多。怕什么就容易来什么,不如一开始就把潜在的故障风险降低。

4. 一台高配顶多台低配

有的客户喜欢买一台高配置服务器,性价比高,而且只要维护一套环境,殊不知单点高配机器一旦出问题,整个业务就完了,而通过多台低配服务器承载业务,能有效地规避单台服务器故障影响整个业务链路。

云上环境的高可用和容灾

不管业务是不是在云上,服务的稳定和连续性总归是无法回避的话题。从前面的论述中,我们了解到了高可用性和容灾的概念以及单点故障的危害性。虽然云上的产品已有很高的可用性,我们仍不能忽视构建业务高可用性和容灾的重要性。

基本产品

ECS

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

SLB

负载均衡,高可用性和容灾可以从两点来阐述:
1. 负载均衡的服务提供是基于集群部署的,各集群有一定数量的节点,避免了单点故障,个别或者部分节点服务器宕机不会影响负载均衡服务的提供。
2. 当前提供的负载均衡实例大多是多可用区实例,主备实例在同城不同可用区机房,当主实例机房出现故障,能及时进行切换,来实现容灾和服务的高可用性。

RDS

云数据库

1.单机基础版RDS:

只包含一个节点,没有备用节点用于故障恢复
https://help.aliyun.com/document_detail/48980.html

2. 双机高可用版RDS:

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

3. 多可用区RDS:

主备实例在不同可用区

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

OSS

依托于阿里云底层盘古存储,文件以chunk分块方式存储,默认每块存三副本,并分布在不同机架的ChunkServer节点上。底层服务器出现宕机也不会导致数据不可用。
可以参考云盘的三副本技术介绍:
https://help.aliyun.com/document_detail/35108.html

示例介绍

这里介绍几种基本的企业高可用和容灾架构。

1. 多可用区SLB + 不同可用区ECS

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


具体请参考:
https://help.aliyun.com/document_detail/55386.html

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

多可用区版RDS:

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

3. 高可用性-异地容灾

基于前面阐述的同城多可用区情况,在异地也部署一套环境,具体访问可以配置DNS解析来实现,数据库同步也可以通过DTS。

时间: 2024-12-02 12:44:40

浅析单点故障以及云上高可用和容灾的相关文章

在线教育业务系统云上高可用部署架构设计

从2010年开始,国内新兴的在线教育公司已经越来越多选用公共云计算做为IT基础设施平台.在线教育公司使用云计算,一方面可以减少在IT基础设施方面设备及人力的投入,另一方面可以轻松获得可扩展的计算能力以及更加可靠的安全防护能力. 通过对多家在线教育公司IT部门的交流,由于在线教育公司大多处于业务发展期,IT部门的精力主要投入到支撑新业务的拓展,在应用的部署架构上考虑的不多,在高可用架构方面更是欠缺. 众所周知,云平台是一个及其复杂的综合系统,内外部的一些偶然因素可能导致其发生局部的故障,如果用户在

电子商务平台:云上高可用解决方案、优化、及未来规划

某电子商务平台自2015年9月份对外提供服务,已在阿里云上稳定运行1年多,近期业务量突增.客户找到阿里云CBM(客户服务经理)寻求帮助,CBM和该客户一起找到了袋鼠云.针对该客户的业务现状,袋鼠云为客户提供了云上Oracle架构设计和数据库优化服务. 据了解,此平台是一个会员制的在线交易平台,业务正在不断上升中,对于前端应用和后端数据库压力也是越来越大,国内注册会员用户数已有38+万,有30万左右的商品数量,每天会员用户数1-2万的增长量,在未来3-5年的目标用户数是国内200万.国外200万,

AIX的存储高可用和容灾解决方案实现

基本技术介绍 AIX LVM Mirror 本地存储高可用解决方案介绍 Logical Volume Manager(LVM)是 AIX 上用于逻辑卷管理的软件.LVM 本身提供 Logical Volume (LV)数据在多个 Physical Volume (PV)之间做数据镜像的功能,以达到存储的本地高可用性.在 LVM Mirror 方案中写 I/O 与底层设备交互如下图所示. 图 1. LVM Mirror 方案架构 当服务器发出写 I/O 时,该 I/O 在 Parallel 模式下

PostgreSQL 金融行业高可用和容灾解决方案

背景 金融行业高度依赖共享存储来解决高可用,数据0丢失以及异地容灾的问题. 开源数据库PostgreSQL基于复制的解决方案能不能解决0丢失,高可用以及容灾的问题? 完全可以,而且更灵活,更可靠. PostgreSQL 金融场景实现 如图1 主备同步通过流复制实现,可靠性指标包含反馈维度的指标和一致性维度的指标. 反馈指标 1. L1,备库接收到REDO并写入XLOG BUFFER. 2. L2,备库接收到REDO并落盘. 3. L3,备库接收到REDO落盘后并恢复. 以上三个指标,对事务的时延

高可用数据容灾 同有科技助力河北省人民检察院数据中心升级

随着我国政府职能向数字化.服务化转型,越来越多的应用.业务.数据被集中处理,数据中心需要更完备的安全保障.河北省人民检察院在其数据中心改造项目中,选择了北京同有飞骥科技股份有限公司(以下简称"同有科技")为其量身打造的高可用数据容灾存储解决方案. 原数据中心无法满足业务发展需求 作为省级检察院,河北省检察院管理着全省11个市级院和169个县区级检察院,现有22个内设机构,分管不同的业务内容.其信息化系统包含办公系统.档案系统.统一业务软件系统.数据库系统等.随着各种大数据应用的增多,原

云存储,改写容灾备份未来?

云存储的概念是在云计算上延伸和发展出来的,通过集群应用.网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统. 当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统,所以云存储是一个以数据存储和管理为核心的云计算系统. 云存储融入企业应用 云存储正在成为全球存储行业的发展潮流之一,云存储产品的应用范围也在不断扩大.相比传统存储备份的

安徽移动:云存储下的容灾建设

关于云计算的讨论在持续升温,越来越多的以运营商为代表的企业开始对云计算进行研究和部署.然而,在云存储环境中存在着大量的异构环境,而传统容灾技术以同构存储为主,无法在异构环境中实现容灾保护.中国移动安徽公司(以下简称安徽移动)就对云存储环境下的异构存储容灾进行了探索.建设独立.开放的容灾系统容灾系统的独立性和开放性,对于安徽移动现在以及将来保持系统平台和存储平台的灵活性都至关重要.一个好的容灾系统不仅能够满足企业目前的容灾需要,而且还能够为将来的数据平台选择提供更大的灵活性.容灾系统的独立性.开放

如何衡量数据中心的高可用及容灾水平

数据中心的好与差有很多评判的方法,很多评价机构都是将多方面的因素考虑进来,对每种因素进行评分,再根据经验对每种因素给定权重,最终得出数据中心的评价结果,按照预先定义的数据中心等级,根据评价结果给数据中心定级.不少的数据中心评价机构尽量保证数据的真实性和权威性,一定要将数据中心分个三六九等,这其中就有两项非常重要的参数,就是一个数据中心的高可用性和数据中心的容灾能力.往往这两项会在整个数据中心评价中占据相当大的权重,很多数据中心在建设时考虑最多的也是这两个方面.下面就展开来谈谈高可用性及容灾. 何

梦想旅行:高速海外访问与高可用&容灾架构的最佳实践

本文正在参加"最佳上云实践"评选,来给我们投票吧:https://yq.aliyun.com/activity/158(编号17) 梦想旅行主要是服务于出境自由行的用户,为用户实时体统餐饮.酒店预订.景点查询等基于LBS的服务,用几个词简单概括就是:出国.哪吃.哪玩.哪优惠. 一般出境游的朋友会查攻略.求达人.看路书.在国内可以搜索附近获得旅游信息,而在国外却面临信息不对称的窘境,导致出境游需要非常繁杂的准备工作. 梦想旅行正是为了解决这些问题而生,我们主要做了这三个方面的事情: 全球