配置
spring:
cloud:
nacos: 略
# 使用loadbalancer(剔除掉ribbon)
loadbalancer:
enable: true
health-check:
#开启HealthCheckServiceInstanceListSupplier刷新实例表
refetch-instances: true
# 间隔时间
refetch-instances-interval: 5s
#禁用额外的健康检查,因为每次实例刷新也会触发一次健康检查
repat-health-check: false
retry:
enable: true
# 同一实例重试次数
max-retries-on-same-service-instance: 0
# 不同实例重试次数
max-retries-on-next-service-instance: 1
# 所有请求都进行重试
retry-on-all-operation: true
feign:
client:
config:
# default针对所有服务
default:
connectTimeout: 8000
readTimeout: 8000
# 开启feign日志
LoggerLevel: FULL
配置后超时并没有重试,重新检查pom文件发现少了spring-retry依赖
pom.xml
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>