hystrix实现服务降级的3种方式[通俗易懂]

hystrix实现服务降级的3种方式[通俗易懂]1、hystrix是什么Hystrix是一款开源的容错插件,具有依赖隔离,系统容错降级等功能,这也是其最重要的两种用途,还有请求合并等功能2、为什么要进行隔离在实际工作中,尤其是分布式、微服务越来越普遍的今天,一个服务经常需要调用其他的服务,即RPC调用,而调用最多的方式还是通过http请求进行调用,这里面就有一个问题了,如果调用过程中,因为网络等原因,造成某个服务调用超时,如果没有熔断机制…

大家好,又见面了,我是你们的朋友全栈君。

1、hystrix是什么

Hystrix是一款开源的容错插件,具有依赖隔离,系统容错降级等功能,这也是其最重要的两种用途,还有请求合并等功能

2、为什么要进行隔离

在实际工作中,尤其是分布式、微服务越来越普遍的今天,一个服务经常需要调用其他的服务,即RPC调用,而调用最多的方式还是通过http请求进行调用,这里面就有一个问题了,如果调用过程中,因为网络等原因,造成某个服务调用超时,如果没有熔断机制,此处的调用链路将会一直阻塞在这里,在高并发的环境下,如果许多个请求都卡在这里的话,服务器不得不为此分配更多的线程来处理源源不断涌入的请求

更恐怖的是,如果这是一个多级调用,即此处的服务的调用结果还被其他服务调用了,这就形成了所谓的雪崩效应,后果将不堪设想

因此,需要某种机制,在一定的异常接口调用出现的时候,能够自动发现这种异常,并快速进行服务降级,这就是hystrix要发挥的作用,常见的降级处理方式包括,超时处理、线程池隔离和信号量隔离,下面就对这几种方式做简单的说明

1、导入依赖

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

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

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


相关推荐

  • 何不给你单调的鼠标指针换一个好看的样式?(Windows系统下)

    鼠标指针是我们日常操控电脑最基本的工具,用久了难免会有些单调。换一个更好看或更炫酷的皮肤,或许会给你带来不一样的心情!这是我新换的鼠标指针样式,是不是很有意思。访问这个网站:点击跳转里面有几百种鼠标指针美化包。选好你喜欢的美化包后,点击下载。将下载好的安装包解压。里面有一个.inf文件。右键点击安装遇到下面这个,确定即可。安装完成后,右击鼠标选择个性化,主…

    2022年4月12日
    58
  • 所谓齐次坐标就是用_什么叫齐次

    所谓齐次坐标就是用_什么叫齐次目录[第一篇:关于齐次坐标的理解(经典)](https://blog.csdn.net/janestar/article/details/44244849)[第二篇:齐次坐标的理解](http://www.cnblogs.com/csyisong/archive/2008/12/09/1351372.html)[第三篇:如何通俗的解释仿射变换?](https://www.matongxue.co…

    2025年7月16日
    5
  • apache负载均衡配置_tomcat负载均衡

    apache负载均衡配置_tomcat负载均衡1.负载均衡的设置 1).基本配置 Apache可以应对上面这两种需求。先来讨论一下如何做负载均衡。假设一台apache服务器域名为www.a.com,首先需要启用Apache的几个模块: Httpd.conf代码  LoadModule proxy_module modules/mod_proxy.so  LoadModule proxy_bala

    2025年10月16日
    5
  • java线程池拒绝策略_Java线程池拒绝策略

    java线程池拒绝策略_Java线程池拒绝策略Java提供的策略实现CallerRunsPolicypublicstaticclassCallerRunsPolicyimplementsRejectedExecutionHandler{publicCallerRunsPolicy(){}publicvoidrejectedExecution(Runnabler,ThreadPoolExecutore){if(!…

    2022年6月15日
    29
  • Linux查看端口使用状态、关闭端口方法

    Linux查看端口使用状态、关闭端口方法前提:首先你必须知道,端口不是独立存在的,它是依附于进程的。某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了。下次若某个进程再次开启,则相应的端口也再次开启。而不要纯粹的理解为关闭掉某个端口,不过可以禁用某个端口。1.可以通过”netstat-anp”来查看哪些端口被打开。(注:加参数’-n’会将应用程序转为端口显示,即数字格式的地址,如:nfs->2049,

    2022年7月20日
    25
  • vue组件化的理解_vue的组件化是如何实现的

    vue组件化的理解_vue的组件化是如何实现的前言有时候有一组html结构的代码,并且这个上面可能还绑定了事件。然后这段代码可能有多个地方都被使用到了,如果都是拷贝来拷贝去,很多代码都是重复的,包括事件部分的代码都是重复的。那么这时候我们就可以

    2022年8月7日
    9

发表回复

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

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