服务容错和Histrix-笔记
雪崩效应
- 如果某个服务不可用导致级联故障,造成整个系统不可用的情况,被称为雪崩效应。
Spring Cloud Hystrix
- spring家族中防雪崩的利器
- 基于Netflix对应的Hystrix实现的
- 具备服务降级、依赖隔离、服务熔断、监控 等强大的功能
服务降级
- 优先核心服务,非核心服务不可用或弱可用(弃车保帅)
- 通过HystrixCommand注解指定
- fallbackMethod(回退函数)中具体实现降级逻辑
依赖隔离
使用线程池隔离,会为每个hystrixCommand创建一个独立的线程池,这样就算某个在hystrixCommand包装下的服务出现延迟过高的情况,也只是对该依赖的服务的调用产生影响,并不会拖慢其他服务。
-
线程池隔离
-
Hystrix自动实现了依赖隔离
服务熔断
-
Circuit Breaker: 断路器
-
circuitBreaker.requestVolumeThreshold
设置在滚动时间窗口中,断路器的最小请求数。
-
circuitBreaker.sleepWindowInMilliseconds
时间窗口,休眠时间窗到期后,断路器进入半开状态,释放一个请求到主逻辑上,如果此次请求正常返回 ,那么断路器将继续闭合,主逻辑恢复。如果此次请求依然有问题,断路器依然进入打开状态,休眠时间窗重新计时。
-
circuitBreaker.errorThresholdPercentage
设置断路器打开的错误百分比条件。


浙公网安备 33010602011771号