Spring Cloud (Hystrix)

微服务降级处理:

熔断降级,限流降级(被动降级)

主动降级,对非核心业务进行降级处理。

 

降级处理对服务进行保护。

 

hystrix 三种降级方案分为:1,熔断降级, 2,超时降级, 3,资源/信号量控制实现降级。

 

hystrix:快速失败,快速恢复。在复杂分布式系统中组织,降低级联影响。服务监控提醒。

 

 

熔断触发降级:Hystrix 这里相当于断路器

1,需要 开启熔断降级配置

2,在对应的方法上添加注解:@HystrixCommand(commandProperties={

@HystrixProperty(name="circuitBreaker.enabled",value="true"),-- 开启熔断降级
@HystrixProperty(name="circuitBreaker.requestVolumeThreshold",value = "5"),-- 最小请求次数
@HystrixProperty(name="circuitBreaker.sleepWindowInMilliseconds",value="5000"),-- 熔断恢复时间
@HystrixProperty(name="circuitBreaker.errorThresholdPercentage",value="50")-- 错误率

});

熔断降级在默认在10s内最小请求次数为5次,发生的错误率为百分之五十时触发熔断降级,在五秒后有请求进来之后,尝试发送请求,如果成功,关闭熔断处理,没有继续熔断5s 等待下个五秒再次请求。

配置属性在HystrixCommandProperties 文件中

超时触发降级:使用超时触发降级时需要注意ribbon 的读取超时时间和连接超时时间,否则可能会出现Feign远程调用没有返回Ribbon已经失效(Ribbon 默认超时时间为1s)

资源分配(线程池隔离/信号量隔离)触发降级:

 

 

Hystrix 核心原理:

  1. 具有可配置的降级策略。(熔断,超时,信号量)
  2. 可以识别的降级边界。(@HystrixCommand或继承HystrixCommand)
  3. 数据采集
  4. 行为干预
  5. 结果干预,fallback()
  6. 自动恢复。处于熔断状态下,每过5s尝试恢复。

 

Hystrix : 熔断计数方式采用滑动窗口,使用传统的计数方式,出现异常统计(临界点时统计的数量)的几率大,使用滑动窗口降低临界点时,数量统计的误差。

 

在Hystrix 中使用RxJava 响应式变成框架,采用很多的观察者模式,进行事件的触发调用。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值