1/2:Ribbon重试
Feign(默认继承Ribbon)
eureka-client 中已经包含 ribbon 依赖
如果使用RestTemplate,需添加@LoadBalanced注解
Ribbon的重试:
:依赖
<dependency><groupId>org.springframework.retry</groupId><artifactId>spring-retry</artifactId>
</dependency>
:重试配置
ribbon:ConnectionTimeout: 1000 #建立连接超时时间,默认1000ReadTimeout: 1000 # 接收响应的超时时间,默认1000MaxAutoRetries: 1 #单服务器重试次数,这里失败则更换服务器MaxAutoRetriesNextServer: 2 #更换服务器的次数OkToRetryOnAllOperations: false #默认只对GET请求重试, 当设置为true时, 对POST等所有类型请求都重试
对特定服务单独配置
item-service:ribbon:MaxAutoRetries: 1MaxAutoRetriesNextServer: 2ConnectTimeout: 1000ReadTimeout: 500
ribbon的重试机制,在 feign 和 zuul 中进一步进行了封装,后续可以使用feign或zuul的重试机制