微服务组件之Hystrix
基本介绍
断路器模式 CirCuit Breaker
- 断路器CLOSED 异常比例达到 转为OPEN
- 一定时间 转为 HAFL OPEN 放行部分请求
- 请求成功 转CLOSED 恢复服务
circuitBreaker.errorThresholdPercentage
错误率,默认值50%,例如一段时间(10s)内有100个请求,其中有54个超时或者异常,那么这段时间内的错误率是54%,大于了默认值50%,这种情况下会触发熔断器打开。
circuitBreaker.requestVolumeThreshold
默认值20。含义是一段时间内至少有20个请求才进行errorThresholdPercentage计算。比如一段时间了有19个请求,且这些请求全部失败了,错误率是100%,但熔断器不会打开,总请求数不满足20。
circuitBreaker.sleepWindowInMilliseconds
半开状态试探睡眠时间,默认值5000ms。如:当熔断器开启5000ms之后,会尝试放过去一部分流量进行试探,确定依赖服务是否恢复
隔离
- 线程隔离
- 支持异步 支持超时 支持熔断限流
- 线程切换 开销大
- 信号量隔离
- 不支持异步 不支持超时 支持熔断限流