第一步引入相关依赖
<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