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>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 开心网外挂之争车位之发起比赛

    开心网外挂之争车位之发起比赛       publicvoidlalisai_KaiShiBiSai(stringid)       {           AccessHelperAH=newAccessHelper();           KaiXinHelperKH=newKaiXinHelper();           DataTabledt=AH.GetDataTable(“

    2025年9月16日
    7
  • python3画图中文乱码_pycharm 画图中文乱码

    python3画图中文乱码_pycharm 画图中文乱码importmatplo pyplotasplti 出现中文乱码原因 matplotlib 中找不到中文字体解决方法 1 找到中文字体文件的地址和字体文件名通常 C Windows Fonts 字体文件名 2 加载字体 zh font matplotlib font manager FontProperti fname C Windows Fon

    2025年7月8日
    1
  • Java数据类型—StringBuilder与StringBuffer「建议收藏」

    Java数据类型—StringBuilder与StringBuffer「建议收藏」StringBuilder与StringBuffer作用就是用来处理字符串,但String类本身也具备很多方法可以用来处理字符串,那么为什么还要引入这两个类呢?前面我们讲解到String对象的不可变性,以及它的不足那就是创建新的对象,因为它是不可变的,所以你对它的操作逻辑就体现在另外一个对象里,那就是你的操作新创建的对象。…

    2022年6月28日
    26
  • vue登录判断token过期_vue token过期处理

    vue登录判断token过期_vue token过期处理检查了所有代码都没有问题,在所有需要token的地方都能拿到正确的token,但是在verify时仍然走的err,打印出的错误为invalidtoken最后在外网查到有人在获取token时使用了split,才注意到直接从请求头拿到的token打印出来是带双引号的,而这个双引号也被当做token的一部分进行验证了把头尾的双引号去掉再做验证就成功了…

    2022年9月12日
    6
  • Vue.js 入门教程[通俗易懂]

    Vue.js 入门教程[通俗易懂]Vue.js教程Vue.js(读音/vjuː/,类似于view)是一套构建用户界面的渐进式框架。Vue只关注视图层,采用自底向上增量开发的设计。Vue的目标是通过尽可能简单的API实现响应的数据绑定和组合的视图组件。MVVM模式下图不仅概括了MVVM模式(Model-View-ViewModel),还描述了在Vue.js中ViewModel是如何和View以及Model进行交互…

    2022年5月8日
    56
  • 华为服务器pxe装系统,pxe启动服务器

    华为服务器pxe装系统,pxe启动服务器pxe启动服务器内容精选换一换根据给定的云服务器ID列表,批量启动云服务器,一次最多可以启动1000台。POST/v1/{project_id}/cloudservers/action参数说明请参见表1。参数说明参数是否必选描述project_id是项目ID。获取方法请参见获取项目ID。请参考响应(任务类)。启动云服务器请求参数中,必须以“os-start”字段下发用户在创建云服务器或为云服务…

    2022年6月30日
    84

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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