第一步引入相关依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        
		<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
        </dependency>

第二步 在yml中开启重试机制

spring:
  cloud:
    loadbalancer:
      retry:
        enabled: true

第三步 启动类中开启熔断的注解,然后在yaml中设置断路器超时时间等

@EnableCircuitBreaker
在这里插入图片描述

# 断路器的超时时间需要大于Ribbon的超时时间,不然不会触发重试。
hystrix:
  command:
    default:
      execution:
        isolation:
          thread:
            timeoutInMilliseconds: 6000
ribbon:
  # 请求连接超时时间
  ConnectTimeout: 3000
  # 请求处理的超时时间
  ReadTimeout: 3000
  # 对所有操作请求都进行重试
  OkToRetryOnAllOperations: true
  # 对当前实例的重试次数
  maxAutoRetries: 3
  # 切换实例的重试次数
#  MaxAutoRetriesNextServer: 2

关注我的公众号SpaceObj 领取idea系列激活码

posted on 2023-05-10 17:55  张伯灵  阅读(464)  评论(0编辑  收藏  举报