范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

服务容错和故障隔离你应该了解的一些关键点

  今天谈下服务容错和故障隔离,在谈这个话题的过程中一些实践会围绕我们自己的ESB总线,API网关和MFT传输平台架构设计实践来展开说明。概述
  先来谈下服务容错和故障隔离这两个概念。
  服务容错强调的是一个业务系统或中间件产品对外提供的服务能力本身对内部出现故障的一种容忍能力。也就是说当业务系统内部出现故障的时候,是否能够仍然持续对外提供服务,故障并不需要外部最终的客户感知到。在IT基础设施中的高可用,高可靠设计,很多都是基于服务容错的要求。
  比如常用的HA,集群架构设计等。
  故障隔离简单来说就是业务系统故障错误已经必须对外暴露,对业务造成影响。那么这个时候如何将影响面控制到最小,将故障隔离到一定波及范围内。这个范围可以是业务系统的功能范围,也可以是用户范围。
  比如常说的服务限流熔断,分域设计等即是将影响控制到某一个服务。
  不论是服务容错还是故障隔离,实际都包括了IT基础设施架构设计和应用架构设计两个方面的内容,比如常说的HA架构属于IT基础设施方面架构内容,但是对于分布式集群架构则属于应用层架构设计方面的内容。IT基础设施架构设计
  先谈下IT基础设施方面相关的服务容错和故障隔离设计。
  对于服务容错即常说的高可用和高可靠设计,主要的架构设计方法包括了HA架构,集群架构。在数据库层面又演化了类似主从集群,双主架构等。
  不论是哪种设计,要做到的就是在物理设施和虚拟机逻辑设施层面不能存在任何的单点故障。比如常用的演练方法,你将任何一台硬件设备关机都不应该影响到业务系统的正常运行。
  在架构设计的时候不仅仅是考虑类似虚拟机这种逻辑设施的冗余,更加需要考虑物理设施之间的冗余。举一个简单的例子,你在同一台x86物理服务器上面虚拟了两台虚拟机来构建一个应用集群。在这种场景下如果物理机故障,那么整个系统就完全宕机。
  从容错到故障隔离
  在IT基础设施架构层面,当考虑服务容错的时候,还需要考虑是否会引起故障蔓延的问题。比如在一个集群架构里面,当某一个集群节点出现大并发或大数据量访问的时候,一些高可用集群会自动地进行请求漂移,将没有完成的并发请求转移到其它集群节点。结果你会发现其它集群节点也无法承受如此大的数据量访问,因此其它集群节点也出现故障。
  这就是典型的为了容错而导致了故障蔓延。
  所以服务容错和故障隔离之间需要有一个均衡性的把握。如果从整个IT架构和全应用的视角,保证整个IT基础设施架构的稳定性远远比单个服务请求的高可用更加重要。应用层的服务容错和故障隔离
  在这里我们拿ESB总线或API网关的设计来举例说明。在这种技术中间件的设计过程中,不仅仅是IT基础设施层面的高可用,更加重要的是是服务容错和故障隔离机制设计,其设计的核心目的就是将单个服务或某类服务发生故障或性能问题的时候影响扩展到最小。
  a.故障隔离设计
  对于应用层的故障隔离,在整体规划和架构设计的时候可以考虑的包括:
  1.服务分域进行部署
  可以按业务,按系统,按服务类型,按服务SLA等级定义进行分域。比如对于ERP系统提供的服务单独部署一个域,或者对于数据类服务单独部署,或者对2-3个并发量极大的高SLA定义服务分域部署。这些本身都是可行的思路。
  每一个域本身又有三个思路,其一是部署独立的应用服务器中间件,比如独立部署两套Weblogic或Tomcat中间件容器,这样做的话基本可以做到类似Docker提供的容器级资源隔离。其二是直接在中间件中进行分域部署,类似Weblogic本身就提供分域部署的能力,这种分域可最大的保护跨域之间相互不影响;最后一种方法是直接在一个Tomcat容器中,部署多个JVM实例,不同的WAR或JAR包运行在不同的JVM实例中,这样可以保障单个JVM内存溢出不会影响到其它JVM进程。
  分域的核心目的就是保证资源或进程级别的隔离,这样不同域之间能做到相互不影响,即当服务运行发生故障的时候最多影响到服务当前运行域。
  2.服务限流和熔断机制
  服务限流和熔断机制是ESB平台进行故障隔离的关键手段之一,即在同一个域需要保障当一个服务发生故障或性能异常调用的时候不影响到其它服务。
  举例来说,当一个服务调用出现大量超时等待,那么一定会保持相当多的长连接,这些本身就极大消耗JVM内存;或者说某个数据服务出现大并发调用,本身传递的数据量有很大,在这种大并发调用下也将极大消耗JVM内存和总线吞吐能力而影响到其它服务。
  在这种场景下我们做故障隔离一般会分两步进行,即首先进行限流,限流还不行即进行熔断。
  比如当出现一个大并发大数据传输的服务接口异常调用的时候,为了同时减轻ESB和下游系统的压力,首先可以考虑进行服务限流,即控制服务消费端服务请求的流入。控制流入本身又可以从两个方面来考虑,一个是对于超出预期数量的调用直接拒绝掉,还有一种即让超过预期数据的调用在外排队等待。
  如果限流后仍然存在问题,比如服务调用时间仍然很长很慢,整个ESB总线的堆内存消耗始终降低不下来,那就说明服务本身出现故障,需要考虑对服务进行熔断处理以免故障扩散,即我们可以直接将注册在ESB上的服务禁用掉,这样就禁止了所有的服务调用请求,以保证其它服务的正常调用。
  要做到如上内容,那我们在设计和实现的时候至少要包括如下内容。服务预警策略设置,可以根据错误次数,时间,并发数等多维度设置预警策略。实时的服务运行次数和时间监控,健康性能数据采集 内存计算,当前的运行数据是否满足服务预警和限流策略启动要求 启动实际的服务控制操作。
  具体限流熔断的逻辑可以参考文章:
  微服务和API网关限流熔断实现关键逻辑思路
  b.服务容错设计
  对于服务容错,可以看到很多都会谈到上面说的故障隔离方面的内容,那么除了故障隔离以外,服务容错是否还有其它方面的一些内容可以考虑?
  当从字面上理解,服务容错更多的应该是单个服务本身的容错性是如何的?对于容错性设计采用了哪些技术手段。那么可以考虑的就有:
  1.DB-引擎-管控三者分离
  在进行API网关或MFT产品架构设计的时候,我们始终在强调一点就是应用架构设计里面的数据库,引擎,管控三者之间的解耦和分离。
  什么意思?
  简单来说就是一个API网关的运行,不会因为DB数据库宕机而导致API接口服务消费失败或无法正常调用。同样,API网关也不会因为管理平台无法正常使用而导致服务运行失败。反之同样,引擎当前不正常,管理平台也可以正常使用,查询和监控历史数据。
  如何做到这点?
  实际在前面我谈微服务高可用性设计的文章谈到过。即对于写入类操作通过消息中间件来实现异步化处理,而统一查询类操作即对常用元数据和配置进行缓存处理。
  当采用消息中间件的时候,你需要考虑消息本身的可持久化问题,也需要考虑异常处理后带来的一致性问题。而采用缓存的时候,需要考虑缓存本身的同步和刷新问题。
  2.服务本身的重试机制
  在服务设计的时候,服务调用出现异常的时候需要支持服务重试很多时候都是一个标准设计,特别是在异步消息类服务集成过程中更加是必须支持服务重试。在实现过程中核心是消息中间件,即服务调用请求先会进入到JMS或AMQP的消息中间件和消息队列中,那么当服务调用出现错误的时候消息中间件本身很容易启动重试,而不需要服务调用方再次进行服务调用请求。
  重试的次数,重试的间隔时间等本身应该可以灵活地进行设置和配置。
  3.服务本身的回退或冲正机制
  在ESB服务总线实施过程中,冲正这个词用得比较多,其核心的意思就是当服务(特别是组合类服务)调用出现异常的时候,能够通过调用幂等的负操作来讲已做过的操作退回到原始状态。这其实和我们经常谈的在分布式服务调用处理中的,服务补偿和回退操作。
  对于分布式事务的处理,要明白BASE原则或者说基于服务幂等的服务补偿才是最靠谱的方式,而不是企业分布式事务控制机制。要支持冲正,则需要服务设计的时候必须能够设计对应的幂等负操作。 幂等设计:对于正向服务在设计完成后,能够设计一个幂等的反向服务将数据回退到初始状态。 重试设计:服务需要支持重试,比如导入类服务不管同样的数据调用多少次都不会引起垃圾数据的产生。
  4.服务异常通知机制设计
  对于有些服务的异常调用,当出现调用异常后是不能简单地靠系统自动进行回退或重正处理的,即存在某些不能设计为幂等的服务出现调用异常。
  那么在这种场景下出现服务异常就必须设计完善的异常日志查看和异常通知机制。当出现这种情况的时候,能够及时通知系统或业务人员进行手工修正处理。
  注:最近几篇文章开始控制在1个小时内写作完成,字数控制到3000字内,并适当减少配图,当前进入一个比较好的节奏。有好的节奏才可持续。另外公众号 人月聊IT 也欢迎关注,后续头条文章出出现过的一些原版材料,PPT我都会在公众号通过消息的方式推送。

霍汶希真不像经纪人,颜值气质不输蔡卓文,选的衣服也很贵气你对于大气成熟的风格有什么看法吗?喜欢穿高级风的服装的话,能让自己变的更成熟大方更有魄力。但是你会搭配成熟风的服装吗?成熟风的服装看似很简单,但并不是所有人都会搭配的,有些人就会误杨千嬅换了发色好嫩啊,黑发造型看着好大气,美得差点认不出来蓝色如水,温柔而且文静,但是又很有内涵,让人感觉到了很高级的气质。作为彩色系,蓝色的气场是比较活泼的,但是和其他的颜色相比,蓝色又是沉寂的。这样独特的气场让蓝色在时尚界变的很受欢迎不满1岁女童被查出妇科病,问题出在妈妈衣服上,妈妈我好后悔在传统的观念里,妇科病一般都是成年女性且有了性生活之后才会出现。这种病症怎么会跟小孩子扯上关系呢?但近期据媒体报道,一名不满一周岁的小孩子经医院检查后,确定为妇科病,而引发这个病的莫文蔚新歌MV造型曝光,身穿辱华品牌杜嘉班纳的衣服并且换成头像不久之前莫文蔚在自己的账户发布了新歌和MV,本来是一件非常高兴的事情,但是她穿的的衣服确被细心的网友发现穿了杜嘉班纳的衣服,并将该造型图设为了头像。可能有的网友不知道这个品牌,首先黄晓明和杨颖我们好像在一起了,但又没完全在一起娱乐圈分分合合的情侣真的太多了,还真的不是每一个人都能有情人终成眷属的。或许有很多人的婚姻其实都是形同虚设,这些都是明星自己私人的事情,他们的感情生活外界也没办法去过问。然而总是有理发店前同事高度评价林生斌他的人缘其实挺好的林生斌的口碑一夜之间崩塌,是很多人始料未及的在这段时间里,唯一在网上替林生斌辩解过的,就是他的现任妻子了有人称现任是被这男人爱蒙蔽了,当初穷小子能拿下白富美,何况现在有钱的他,有些马苏为何半夜被孔令辉赶出家门?刘国梁一语道破,杜淳也有评价自2018年的夜宿门事件,随着贾乃亮的一纸文书。这场闹剧才归于沉寂,而因为此事引火上身的马苏却形象崩塌。这些年的人气也直线下降,活跃在荧幕前的马苏。依然逃不过李小璐的神队友之称,让房海燕不主持节目后评价变得那么差了?还是原本评价就不高?看了一篇文章很有意思,之前我说到房海燕的时候真的大批大批的粉丝留言喜欢房海燕风格,大多粉丝都表示希望房海燕回去主持。可见房海燕在观众心中的地位是不错的,我一直都觉得房海燕才是流量,明星社死场面火药味十足,张翰不照常理出牌,汪苏泷自言靠脸进来你演过什么我没名,看过的就看过,没看过的就没看过你看,你还是不诚实,你要是没名就不会来到这里近来一部综艺非常火,名字叫作五十公里桃花坞,主要内容是15位艺人在桃花坞生活21天,这种王一博新剧定妆照曝光扮演的军装照和民国学生照眼神坚定身姿挺拔不久之前王一博的工作室发布了王一博在抉择定妆花絮!当看到他的眼神真的是一下子被燃到了,还有就是军装造型和民国学生造型就更加的有型,剧照中的拿枪时眼神坚定没有丝毫犹豫,敬礼时热血满满中国评分最高的10部电视剧,父母爱情第7,红楼梦仅排第41958年6月15日,中国第一部以直播形式播出的电视剧一口菜饼子上演,这也标志着中国电视剧的诞生。尽管这部电视剧只有20分钟,但是它的地位仍然是不可置疑的,它就是中国第一部电视剧。
代替罗志祥,钟汉良参加街舞3,为何如此圈粉?奔着王一博张艺兴王嘉尔去看的街舞3,没想到意外被钟汉良圈粉,应该很多人都知道钟汉良是演戏的吧,偶像剧他演了很多何以笙箫默最美的时光,年龄大了,但他还是能够让人感到不油腻,眼神也很清我今天被割韭菜了,花了998什么也没学到我花了998,终于悟出来了,网上教人挣钱的全是骗子,收了钱态度马上变了,问他个问题嫌你烦,爱答不理的那种,如果世界上有这种好人,他可以把挣大钱的秘诀,分享给你,那全世界不都是富人了且听凤鸣杨超越的演技怎么样?听听路人的想法杨超越的第一部大女主戏且听凤鸣开播了,作为当红流量,杨超越的演技也被议论纷纷,搜集了几天的意见,观众大致分为两拨,一拨是粉丝,他们的说法是杨超越刚演女主,就有如此表现,不错不错!除浪姐都喜欢挑软柿子捏,为何王智选择王霏霏PK?最新一期的乘风破浪的姐姐,复活团七人组来袭,她们在休整了一段时间后,重新归来,颇有复仇者联盟的气势,所以在个人赛中,冠军团们也很谨慎!如今,第五次公演已经结束,按照总积分排名,复活乘风破浪的姐姐大家猜一猜,宁静会不会成团?乘风破浪的姐姐开播到现在,话题已经积攒了一波又一波,每一个姐姐的谢幕都有一个完美的结局,目前即将进行总决赛,节目就越发让人期待了,现在还剩下14个姐姐,分别是冠军候选团的宁静王霏霏超越不了请回答1988,以家人之名爱情戏让观众弃剧这两天,一直听人讨论起以家人之名,还想着趁着周末追一下剧,可还没等到周末,网上就传出这部剧崩了,原因是本以为是温情的家庭剧,现在变成了狗血的爱情偶像剧!还有网友翻到这部剧的编剧,是浪姐同样是西装秀,金晨那么好看,为何白冰输了?乘风破浪的姐姐第五次公演结束,个人战中十分精彩,小叹印象深刻的就有张雨绮那组表演的屋顶着火,张雨绮换上性感的衣服,跳了一段火辣的舞蹈,再也不是那个顺拐的小雨了!张雨绮表演完,台下一妈宝型男孩于小彤,永远长不大,祝贺陈小纭,早分早解脱超新星运动会上,于小彤和陈小纭像是在暗自较劲一般,最后还是陈小纭更胜一筹,不仅赚了人气,还赢了冠军,反观于小彤,比赛过程中甩脸,因为脾气不好引起了争议!在看节目的过程中,就有人怀疑穿越火线许蔚杀了两个人,为何警察一直没抓住他?穿越火线大结局后,很多人都意难平,觉得许蔚的结局太过美好了,最后还有点洗白的迹象,要知道许蔚杀了两个人,而且还意图谋杀,怎么都得受牢狱之刑,或者在肖枫和路小北面前认罪,怎么只是被一难道真的是张艺兴的歌,拖了宁静组的后腿?乘风破浪的姐姐第五次公演全部结束,节目组选了三首歌曲,分别是张艺兴的莲蔡徐坤的情人,还有玫瑰少年,因为莲和情人都是流量歌手的作品,所以姐姐们都在抢这两首歌,最后剩下的玫瑰少年自然就厉害啊,杨超越,刚出道就给自己想好了退路杨超越,娱乐圈飞速蹿红的人,刚走红时,人人都在骂她,倒不是说她有很多资本捧着,而是因为她的脸蛋漂亮,人气高,可脸蛋这东西,她又不是整出来的,骂的人应该是羡慕嫉妒恨!人气就更加了,参