Hystrix的作用
- 对通过第三方客户端库访问的依赖项(通常是通过网络)的延迟和故障进行保护和控制。
- 在复杂的分布式系统中阻止级联故障。
- 快速失败,快速恢复。
- 回退,尽可能优雅地降级。
- 启用近实时监控、警报和操作控制
熔断触发降级
熔断的目的是为了起到保护作用
降级
主动降级,大促的时候关闭非核心服务.
被动降级, 熔断降级、限流降级
Hystrix
Hystrix中的三种降级方案,fallback-> 回退方案(降级处理方案
1. 熔断触发降级
熔断开启之后,后续的正常请求也无法发送过去.
如何触发熔断?“判断阈值”
10s钟之内,发起了20次请求,失败率超过50%。 熔断的恢复时间(熔断5s),从熔断开启
到后续5s之内的请求,都不会发起到远程服务端.
熔断会有一个自动恢复。
@HystrixProperty(name="circuitBreaker.enabled",value ="true"), --开启状态
@HystrixProperty(name="circuitBreaker.requestVolumeThreshold",value = "5"), --最小请求次数
@HystrixProperty(name="circuitBreaker.sleepWindowInMilliseconds",value = "5000"), --5s
熔断的时间
@HystrixProperty(name="circuitBreaker.errorThresholdPercentage",value =
"50") -百分比(50%)
2. 请求超时触发降级
3.资源隔离触发降级
平台隔离、部署隔离、业务隔离、 服务隔离、资源隔离
CPU、内存、线程
信号量隔离
线程池隔离