明天给大家分享的是 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

心愿明天的分享可能在工作中帮忙到你。