FeignClient 超时设置

FeignClient超时设置

  • FeignClient超时设置

FeignClient超时设置

feign超时设置有3种方式:配置文件直接配置FeignClient、自定义Request.Options及配置文件配置Ribbon,优先级从高到低如下。
1、配置文件里对特定FeignClient配置属性: feign.client.config.demo.connectTimeout=1000,feign.client.config.demo.readTimeout=2000 ;
2、自定义对特定FeignClient生效的Request.Options类型的Bean;
3、配置文件里对所有FeienClient属性的配置:feign.client.config.default.connectTimeout=1000,feign.client.config.default.readTimeout=5000
4、对全体FeignClient生效的Request.Options类型的Bean;
5、特定服务的ribbon配置:demo.ribbon.ConnectTimeout=1000,demo.ribbon.ReadTimeout=5000
6、全体服务的ribbon配置:ribbon.ConnectTimeout=1000,ribbon.ReadTimeout=5000
7、Ribbon默认配置:默认连接超时和读取超时都是1000,即1秒

总结一下:
1、FeignClient的直接配置高于Ribbon的配置
2、特定服务的配置高于全体服务的配置
3、配置文件的配置高于自定义Request.Options
4、如果有特定服务的Options和全体服务的配置文件配置,遵循第二条规则,以特定服务的Options为准;
5、如果有特性服务的Ribbon配置和全体服务的FeignClient配置,遵循第一条规则,以FeingClient的配置为准

最佳实践:
1、不要采用Ribbon配置而要直接配置FeignClient,即配置feign.client.xx
2、配置文件配置全体FeignClient的超时设置,同时对特定服务有特殊设置的,也在配置文件里配置

你可能感兴趣的:(FeignClient 超时设置)