微服务组件之Hystrix

基本介绍

Spring Cloud 之 Hystrix>

断路器模式 CirCuit Breaker

  1. 断路器CLOSED 异常比例达到 转为OPEN
  2. 一定时间 转为 HAFL OPEN 放行部分请求
  3. 请求成功 转CLOSED 恢复服务

circuitBreaker.errorThresholdPercentage
错误率,默认值50%,例如一段时间(10s)内有100个请求,其中有54个超时或者异常,那么这段时间内的错误率是54%,大于了默认值50%,这种情况下会触发熔断器打开。

circuitBreaker.requestVolumeThreshold
默认值20。含义是一段时间内至少有20个请求才进行errorThresholdPercentage计算。比如一段时间了有19个请求,且这些请求全部失败了,错误率是100%,但熔断器不会打开,总请求数不满足20。

circuitBreaker.sleepWindowInMilliseconds
半开状态试探睡眠时间,默认值5000ms。如:当熔断器开启5000ms之后,会尝试放过去一部分流量进行试探,确定依赖服务是否恢复

隔离

  1. 线程隔离
  • 支持异步 支持超时 支持熔断限流
  • 线程切换 开销大
  1. 信号量隔离
  • 不支持异步 不支持超时 支持熔断限流

为每一个方法或多个方法创建一个线程池 不和业务线程耦合

posted @ 2022-05-08 22:39  AlbertXe  阅读(20)  评论(0编辑  收藏  举报