七、 短路器开启之后fallback降级机制

7.1 四种情况fallback降级机制

 

(1)[error] Hystrix调用各种接口,或者访问外部依赖,mysql,redis,zookeeper,kafka,等等,如果出现了任何异常的情况

比如说报错了,访问mysql报错,redis报错,zookeeper报错,kafka报错。

 

(2)[reject] 对每个外部依赖,无论是服务接口,中间件,资源隔离,对外部依赖只能用一定量的资源去访问,线程池/信号量,如果资源池已满。

 

(3)[timeout]访问外部依赖的时候,访问时间过长,可能就会导致超时,报一个TimeoutException异常

上述三种情况,都是我们说的异常情况,对外部依赖的东西访问的时候出现了异常,发送异常事件到短路器中去进行统计。

 

(4)[circuit breaker]如果短路器发现异常事件的占比达到了一定的比例,直接开启短路,circuit breaker

 

上述四种情况,都会去调用fallback降级机制

7.2 两种经典的降级机制:纯内存数据,默认值

HystrixCommand是实现getFallback方法

HystrixObservableCommand是实现resumeWithFallback方法

 

7.3 HystrixCommand.getFallback()最大允许的并发请求数量

fallback.isolation.semaphore.maxConcurrentRequests

 

这个参数设置了HystrixCommand.getFallback()最大允许的并发请求数量,默认值是10,也是通过semaphore信号量的机制去限流

 

如果超出了这个最大值,那么直接被reject

HystrixCommandProperties.Setter()

   .withFallbackIsolationSemaphoreMaxConcurrentRequests(int value)

  //这个参数设置了HystrixCommand.getFallback()最大允许的并发请求数量,默认值是10,也是通过semaphore信号量的机制去限流

                            //如果超出了这个最大值,那么直接被reject   ==>fallback.isolation.semaphore.maxConcurrentRequests

                            .withFallbackIsolationSemaphoreMaxConcurrentRequests(10)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值