【微服务实战系列】Hystrix熔断器工作流程及HystrixCommand注解使用

1 Hystrix工作流程

​ Hystrix是由Netflix开源的⼀个延迟和容错库,⽤于隔离访问远程系统、服务或者第三⽅库,防⽌级联失败,从⽽提升系统的可⽤性与容错性。Hystrix主要通过以下⼏点实现延迟和容错:

​ 1,包裹请求:使⽤HystrixCommand包裹对依赖的调⽤逻辑,通过添加@HystrixCommand对Hystrix控制;

​ 2,跳闸机制:当某服务的错误率超过⼀定的阈值时,Hystrix可以跳闸,停⽌请求该服务⼀段时间。

​ 3,资源隔离:Hystrix为每个依赖都维护了⼀个⼩型的线程池(舱壁模式)(或者信号量)。如果该线程池已满, 发往该依赖的请求就被⽴即拒绝,⽽不是排队等待,从⽽加速失败判定。

​ 4,监控:Hystrix可以近乎实时地监控运⾏指标和配置的变化,例如成功、失败、超时、以及被拒绝 的请求等。

​ 5,回退机制:当请求失败、超时、被拒绝,或当断路器打开时,执⾏回退逻辑。回退逻辑由开发⼈员 ⾃⾏提供,例如返回⼀个缺省值。

​ 6,⾃我修复:断路器打开⼀段时间后,会⾃动进⼊“半开”状态。

​ 下图是Hystrix的断开工作原理图:

你可能感兴趣的:(微服务实战系列,java,spring,cloud,微服务)