1. Hystrix简介

Spring Cloud Hystrix 是Spring Cloud Netflix 子项目的核心组件之一,具有服务容错及线程隔离等一系列服务保护功能
Hystrix具备服务降级、服务熔断、线程隔离、请求缓存、请求合并及服务监控等强大功能
启用Hystrix: 添加注解@EnableHystrix

实现服务降级:通过@HystrixCommand实现降级处理
fallbackMethod:指定服务降级处理方法;
ignoreExceptions:忽略某些异常,不发生服务降级;
定义降级执行的方法:要求降级方法与目标方法参数及返回值保持一致

  1. 触发降级的条件
    FAILURE:执行失败,抛出异常
    TIMEOUT:执行超时,默认1秒
    SHORT_CIRCUITED:熔断器状态为Open

OpenFeign内置了Hystrix
image.png

4.Hystrix超时设置

  1. 默认情况下,hystrix熔断器超时时间是1S,超过这个时间就会触发服务降级。
  2. 连接超时时间connectTime
  3. 业务处理超时时间readTimeout
  4. 熔断时间>=总时间(连接+业务处理)
    image.png
  5. image.png
  • 创建监控微服务,添加依赖:spring-cloud-starter-netflix-hystrix-dashboard
  • Hystrix熔断器 - 图4
  • image.png