Spring Cloud OpenFeign 超时与重试
程序员文章站
2022-04-28 22:40:55
...
今天给大家分享的是 feign 的超时与重试配置。
超时
feign:
client:
config:
default:
connectTimeout: 1000
readTimeout: 1000
需要注意以下几点:
1、连接超时 (connectTimeout) 和 读取超时 (readTimeout) 同时配置时,才会生效。
2、超时单位为毫秒。
3、可根据服务名称单独定义超时。
比如, provider-get 服务提供的是查询接口,超时时间可以设置短一些:
feign:
client:
config:
provider-get:
connectTimeout: 1000
readTimeout: 6000
而, provider-post 服务提供的是数据处理接口,超时时间可以设置长一些:
feign:
client:
config:
provider-post:
connectTimeout: 1000
readTimeout: 20000
重试
实现 feign.Retryer 接口
public class MyRetryer implements Retryer {
@Override
public void continueOrPropagate(RetryableException e) {
throw e;
}
@Override
public Retryer clone() {
return new Default(100, TimeUnit.SECONDS.toMillis(1), 5);
}
}
三个参数的理解:
period:周期,重试间隔时间
maxPeriod:最大周期,重试间隔时间按照一定的规则逐渐增大,但不能超过最大周期
maxAttempts:最大尝试次数,重试次数
之后,我们可以进行配置:
feign:
client:
config:
default:
retryer: com.fengwenyi.springclouddemo.demospringcloudfeignsentinel.consumerservice.MyRetryer
希望今天的分享能够在工作中帮助到你。
推荐阅读
-
spring cloud服务提供与调用示例
-
玩转Spring Cloud之熔断降级(Hystrix)与监控
-
第1章 Spring Cloud 构建微服务架构(一)服务注册与发现
-
Spring Cloud 之 Config与动态路由.
-
Spring Cloud实战之初级入门(四)— 利用Hystrix实现服务熔断与服务监控
-
Spring Cloud Feign 使用方法与性能优化
-
spring_cloud开发时常用技术的使用与配置
-
Spring Cloud Hystrix理解与实践(一):搭建简单监控集群
-
从实践出发:微服务布道师告诉你Spring Cloud与Spring Boot他如何选择
-
Spring Cloud Alibaba(1) 实现服务注册与发现 Nacos Discovery