明天给大家分享的是 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
心愿明天的分享可能在工作中帮忙到你。