openfeign配置超时。重试

网上查到说openfeign是基于ribbon实现的所以可以直接配置ribbon的超时也可以实现

全局配置
ribbon:
  ConnectTimeout: 1000
  ReadTimeout: 1000

局部配置
serverName
 ribbon:
  ConnectTimeout: 1000
  ReadTimeout: 1000

但是我测试了一下不好用。通过一下直接配置feign的方式可以实现

配置文件方式
feign:
   client:
      config:
        default: #这里就是指的所有被加载的默认FeignClient实现的服务配置都生效
            connectTimeout: 2000
            readTimeout: 2000
其中default可以替换成具体的服务名称

编码方式
    public static int connectTimeOutMillis = 2000;//超时时间
    public static int readTimeOutMillis = 2000;
    @Bean
    public Request.Options options() {
        return new Request.Options(connectTimeOutMillis, readTimeOutMillis);
    }

重试通过ribbon 我也没有设置成功

ribbon:
  ConnectTimeout: 1000
  ReadTimeout: 1000
  # 是否所有操作都进行重试
  OkToRetryOnAllOperations: true
  # 同一实例最大重试次数,不包括首次调用
  MaxAutoRetries: 1
  # 重试其他实例的最大重试次数,不包括首次所选的server
  MaxAutoRetriesNextServer: 3

也是通过配置feign编码的方式配置成功的

    @Bean
    public Retryer feignRetryer() {
        Retryer retryer = new Retryer.Default(100, 1000, 5);
        return retryer;
    }

如果有ribbon为甚么没有成功的。请赐教!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容