Hystrix熔断器

1.什么是熔断器?熔断器解决问题的核心思想

有的时候,可能是网络问题,可能是一些其他问题,导致代码无法运行,服务挂掉了。熔断器就是为了解决无法正常访问服务时该进行怎样的处理而设计的。

核心思想就是,如果一个服务器挂掉,那么把相关的问题局限在这个服务中,不影响其他的服务。

 

2.服务降级

hystrix为每个服务分配了小的线程池,当用户发请求过来,会通过线程池创建线程执行任务,如果线程池满了或者请求超时(和多线程线程池不同的是,这里没有任务队列),则启动服务降级功能。

降级指的是请求故障时,不会阻塞,会返回一个友好提示(可以自定义,例如网站维护中请稍后重试),也就是说不会影响其他服务运行。

 

3.服务熔断

 

熔断器的状态机如上,有3个状态:

  • closed:关闭状态(断路器关闭),所有请求都正常访问。
  • open:打开状态(断路器打开),所有请求都会被降级。Hystrix会对请求情况计数,当一定时间内失败请求百分比达到阈值,则会触发熔断,断路器完全关闭。默认的失败比例阈值是50%,请求次数最少不低于20次。
  • Half Open状态:半开状态,open状态不是永久的,打开后进入休眠时间(默认是5秒)。随后断路器会自动进入半开状态,此时释放一次请求通过,如果这个请求健康,则关闭断路器,反之继续保持打开,再进行5秒休眠计时。
posted @ 2021-12-10 17:36  sellingpear  阅读(89)  评论(0)    收藏  举报