SpringCloud—-如何解决灾难性雪崩效应

SpringCloud—-如何解决灾难性雪崩效应

1.降级

超时降级、资源不足时(线程或信号量)降级,降级后可以配合降级接口返回托底数据。实现一个fallback方法, 当请求后端服务出现异常的时候, 可以使用fallback方法返回的值.
保证:服务出现问题整个项目还可以继续运行。

2.熔断

当失败率(如因网络故障/超时造成的失败率高)达到阀值自动触发降级,熔断器触发的快速失败会进行快速恢复。
通俗理解:熔断就是具有特定条件的降级。所以在代码上熔断和降级都是一个注解
保证:服务出现问题整个项目还可以继续运行。

3.缓存

提供了请求缓存。服务A调用服务B,如果在A中添加请求缓存,第一次请求后走缓存了,就不在访问服务B了,即使出现大量请求时,也不会对B产生高负载。
请求缓存可以使用Spring Cache实现。
保证:减少对Application Service的调用。

4.请求合并

提供请求合并。当服务A调用服务B时,设定在5毫秒内所有请求合并到一起,对于服务B的负载就会大大减少,解决了对于服务B负载激增的问题。
保证:减少对Application Service的调用。

5.Hystrix简介

Hystrix [hɪst’rɪks],中文含义是豪猪,因其背上长满棘刺,从而拥有了自我保护的能力。本文所说的Hystrix是Netflix开源的一款容错框架,同样具有自我保护能力。为了实现容错和自我保护。

在Spring cloud中处理服务雪崩效应,都需要依赖hystrix组件。在Application Client应用的pom文件中都需要引入下述依赖:

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/2315.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 标准模板库(STL)学习指南之map映射

    标准模板库(STL)学习指南之map映射

  • JS替换空格回车换行符

    JS替换空格回车换行符JS替换空格回车换行符str=str.replace(/\r/g,"&amp;nbsp;")str=str.replace(/\n/g,"&lt;br/&gt;")  或 str=str.replaceAll(" ","")

  • vim命令复制粘贴命令_linux编辑文件命令vim

    vim命令复制粘贴命令_linux编辑文件命令vim今天被vim的复制粘贴弄得很烦,它不像windows那样,每次复制会把以前的内容覆盖。所以有时粘贴出来的东西并不是你想要的。在不同终端中,用vim打开的两个文件之间的复制粘贴1.用同一个终端,直接使用这个命令:vimfile1file2这样就可以直接用y和p复制粘贴了。但是这样比较麻烦,需要在两个文件之间切换。2.之所以不能直接用y和p复制粘贴。是因为每个终端中的vim复制的内容存储在不同…

  • Istio安装「建议收藏」

    1、安装Istio自定义资源定义kubectlapply-finstall/kubernetes/helm/istio/templates/crds.yamlcustomresourcedefinition.apiextensions.k8s.io/virtualservices.networking.istio.iocreatedcustomresourcedefinition….

  • java工作流详解

    java工作流详解什么是工作流?工作流:两个或两个以上的人,为了共同的目标,连续的以串行或并行的方式去完成某一业务。业务:工作流所指业务涵盖了与经营相关的活动。串行或并行:业务中的步骤也许以一步接着一步的方式进行,我们称之为串行;或者由不同的人或组合根据不同的情况处理,我们称之为并行。两个或两个以上的人:如工作流的名称所表达的含义,一个人处理的业务不称其为工作流,只有任务从一个人”流”向另一个人的时候,才有工作流。共同的目标:个体参与工作流必须是为了同一个工作目标。如果个体处于两个相互独立的项目之中,不会

  • 卡盟主站安装教程

    卡盟主站安装教程config.php数据库连接文件配置 视频密码confighttp://www.tudou.com/v/adVnUX3dMOM/&amp;rpid=61582914&amp;resourceId=61582914_04_05_99/v.swf卡盟主站搭建源码上传 视频密码kamengyuanmahttp://www.tudou.com/v/yv0tpzikiC8/&amp;rp…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号