springcloud -- Hystrix功能简介

原文地址: https://www.jianshu.com/p/8e577d8c1b20

1 Hystrix 简介

在微服务架构中,微服务之间通过网络进行通信,存在相互依赖,当其中一个服务不可用时,有可能会造成雪崩效应。要防止这样的情况,必须要有容错机制来保护服务。
Hystrix是Netflix开源的一个延迟和容错库,它主要实现了以下几点:

  • 包裹请求
    使用HystrixCommand(或HystrixObservableCommand)包裹对依赖的调用逻辑,每个命令在独立线程中执行。
  • 跳闸机制
    当某服务的错误率超过一定阈值时,Hystrix可以自动或手动跳闸,停止请求该服务一段时间。
  • 资源隔离
    Hystrix为每个依赖都维护了一个小型的线程池(或信号量),如果该线程池已满,发往该依赖的请求就被立即拒绝。
  • 监控
    Hystrix可以近乎实时地监控运行指标和配置的变化。
  • 回退机制
    当请求失败、超时、被拒绝,或者当断路器打开时,执行回退逻辑。
  • 自我修复
    当断路器打开一段时间后,会自动进入“半打开”状态,允许一个请求访问依赖的服务,如果该请求成功,则关闭断路器,否则继续保持打开状态。

猜你喜欢

转载自blog.csdn.net/justlpf/article/details/84345862
今日推荐