首页 > 手机 > 配件 > 什么造就了可用性,系统可用性

什么造就了可用性,系统可用性

来源:整理 时间:2022-04-11 12:34:10 编辑:华为40 手机版

在线系统和执行关键任务的系统,比如金融系统,通常要求其可用性要达到5个9标准(99.999%)。任何系统都会有一个或多个冗余系统做standby。01什么是高可用性?首先,我们需要理解什么是高可用?维基百科的定义如下:高可用性(英语:HighAvailability,缩写为HA),IT术语,指系统无中断地执行其功能的能力,代表系统的可用性程度。

如何实现分布式系统的高可用性?

如何实现分布式系统的高可用性

高可用性确实是分布式系统一项重要的指标,跟数据一致性,分区容错性组成了分布式系统的CAP原则,本文只针对高可用性分析如下:高可用性:High Availability,保证分布式系统在较长的时间内能正常响应,持续可用,业界常用几个9的说法来说明高可用性,比如说5个9,就是99.999%,全年只能停机几十分钟而已!毫无疑问,单点的系统是无论如何也不可能实现高可用的,因为受到单点故障,服务发布,网络延迟等原因,客户端总会接收不到响应,即服务不可用!比如数据库常用的集群手段有:1,主从复制,读写分离:不能做到高可用,如果主机挂了,整个系统的写功能就不能用了!2,分库分表:不能做到高可用,分库分表是把所有的数据分布到了很多的分库中,其中一个分库挂了,这部分数据就没了!3,双主互备:可以做到高可用,双主机数据一致,能动态切换主库,其中一台坏了,另一台可提供使用!双主互备得到的集群虽然实现了高可用,由于双机数据一致,限制了整个集群的容量!分布式服务的高可用更加的复杂,因为分布式系统对外是一个整体,换句话说分布式的高可用需要保证分布式系统中包括应用系统,数据库,缓存系统,消息组件等所有服务的高可用性!高可用性的解决方法一般来说比较单一,包括数据冗余,故障熔断,服务转移!数据冗余保证在任何时候最新的数据都不丢失,多份数据冗余也为后期的数据还原提供基础!故障熔断,服务转移保证单个服务不可用时,使用熔断防止服务不可用影响别的服务,并使用最新的健康服务以替换!针对应用系统的单点,一定要压测出最大的容纳能力,同时可以使用负载均衡的方式搭建集群,服务还应该设计为幂等的,防止数据一致性问题!高可用性解决方案貌似除了堆机器,没有更好的办法,不知道大家有什么手段,写出来让大家学习学习!。

系统的高可用性,大家是怎样理解的?可以采用哪些解决方案?

系统的高可用性,大家是怎样理解的可以采用哪些解决方案

01什么是高可用性?首先,我们需要理解什么是高可用?维基百科的定义如下:高可用性(英语:High Availability,缩写为 HA),IT术语,指系统无中断地执行其功能的能力,代表系统的可用性程度。是进行系统设计时的准则之一。基本上来说,就是要让我们的计算环境(包括软硬件)做到full-time的可用性。

在架构上来说,需要考虑如下设计:1. 对软硬件的冗余,以消除单点故障。任何系统都会有一个或多个冗余系统做standby。2. 对故障的检测和恢复。检测故障以及用备份的结点接管故障点。这也就是failover。02 高可用的三种模式1、主备模式 主节点工作,备节点处于监控准备状况;当主节点宕机时,备节点接管主节点的一切工作;待主节点恢复正常后,有两种恢复方式,一种是自动或手动方式切回到主节点;另一种是不切回,以前的主机沦为备节点,这种方式一般在云端采用。

数据的一致性一般是通过数据库同步方式解决。案例:天翼云/华为云MySQL数据库服务的主备实例,如下图所示:2、双活模式主节点和备节点同时运行,通过全局负载均衡器负载分摊访问流量,当主节点机宕机时,备节点机立即接管它的一切工作,保证系统不间断运行;主备节点一般是共享主节点的数据库实例,备节点数据库实例同步主节点实例,可提供只读服务。

案例:招商局的同城双活灾备系统就是该模式,可参考链接:百年招商局大转型,“双云”混合继往开来 http://www.sohu.com/a/225597241_122592 3、集群模式多个节点构成集群,一起工作,有如下特点:多主架构,去中心化;集群不同节点之间数据实时同步,没有延迟;在出现数据库故障时,因支持多点写入,切换容易;在服务期间,可支持节点增加或删除的“热插拔”;集群的维护,对应用程序是透明的。

案例:天翼云/华为云分布式缓存集群实例,其架构图如下所示:所有的redis节点彼此互联;客户端与redis节点直连,不需要中间proxy层;客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可。03 IT基础设施的高可用1、网络高可用由于网络存储的快速发展,网络冗余技术被不断提升,提高IT系统的高可用性的关键应用就是网络高可用性,网络高可用性是通过匹配冗余的网络设备实现网络设备的冗余,达到高可用的目的。

比如冗余的交换机,冗余的路由器等2、服务器高可用服务器高可用主要使用的是服务器集群软件或高可用软件来实现。3、存储高可用使用软件或硬件技术实现存储的高度可用性。其主要技术指标是存储切换功能,数据复制功能,数据快照功能等。当一台存储出现故障时,另一台备用的存储可以快速切换,达一存储不停机的目的。04 高可用性的度量系统可用性一般用n个9来度量,9越多代表全年服务可用时间越长服务更可靠,停机时间越短,反之亦然。

下表提供了n个9对应的年、月、周、天的宕机时间:宕机时间是怎么计算的呢?宕机时间顾名思义就是不可用时间,比如,可用性为99.999%(5个9),不可用性为1-99.999%=0.001%,我们算一下按照“年”来度量的宕机时间如下:365天*24小时*60分钟*(1-99.999%)≈5.26分/年。可信云官网列出的天翼云主机的业务可用性指标为99.95%,我们计算一下宕机时间:365天*24小时*(1-99.95%)≈4.38小时/年。

在线系统和执行关键任务的系统,比如金融系统,通常要求其可用性要达到5个9标准(99.999%)。05 数据一致性问题高可用系统,细节之处全是魔鬼,冗余结点最大的难题就是数据复制的数据一致性保证。冗余数据所带来的一致性问题是魔鬼中的魔鬼:如果主备节点数据复制是异步的,那么在failover的时候就会出现数据差异的情况。

如果主备节点数据复制是同步的,那么就会导致冗余结点越多性能越慢。所以,很多高可用系统都是在做各种取舍,如果我们对数据库的性能要求较高,能容忍一定的数据差异,建议采用异步复制模式;如果要求数据的强一致性,能够容忍一定的性能损耗,建议采用同步复制模式,比如银行账号的余额真实体现了账户的结余,不能允许主备节点账号余额不一致,此时就必需做到强一致性。

06 高可用性总结要做到服务高可用,就必需要有备用(复本),无论是应用结点还是数据结点要做到复制,就会有数据一致性的问题,要根据业务场景来取舍我们不可能做到100%的高可用,也就是说,我们能做到几个9个的SLA我们很难计算出系统有多少的可用性,因为影响一个系统的因素实在是太多了,除了软件设计,还有硬件,还有第三方的服务(如电信联通的宽带SLA),当然包括“建筑施工队的挖掘机”。

要真正保障系统的高可用性,是一件很难的事情,就算是3个9的可用性,一个月的宕机时间也只有40多分钟,即使是排名靠前的云服务商,也经常需要人肉处理故障, 一个故障处理1个多小时甚至2-3个小时,也是正常情况,当云服务商在官网上声明自己的SLA是3个9或是5个9,要切实提高自己的自动化运维处理故障的能力,不然客户会拿着官网的SLA来索赔。

文章TAG:可用性造就系统

最近更新