Spring Cloud Feign Ribbon 配置

时间:2021-07-10 11:16:56

由于 Spring Cloud Feign 的客户端负载均衡是通过 Spring Cloud Ribbon 实现的,所以我们可以直接通过配置 Ribbon 的客户端的方式来自定义各个服务客户端调用的参数。

全局配置

全局配置的方法非常简单,我们可以i直接使用 ribbon.<key>=<value>的方式来设置 ribbon 的各项默认参数,比如,修改默认的客户端调用超时时间示例如下,使用 yml 格式配置:

ribbon:

ConnectionTimeout: 500

ReadTimeout: 500

指定服务的配置

大多数情况下,我们对于服务调用的超时时间等可能会根据实际服务的特性做一些调整,所以仅仅依靠默认配置是不行的,在使用 Spring Cloud Feign 的时候,针对各个服务客户端进行个性化的配置方式与使用 Spring Cloud Ribbon 时的配置方式是一样的,都采用 <client>.ribbon.<key>=<value> 的格式设置,<client> 为使用 @FeignClient 注解的 name 属性或者 value属性指定的服务名,需要区分大小写,示例如下:

ORG.LIXUE.HELLOWORLD:

ribbon:

ConnectionTimeout: 50

ReadTimeout: 50

常用Ribbon配置

配置名称

默认值

说明

ConnectionTimeout

连接超时时间

ReadTimeout

读取超时时间

OkToRetryOnAllOperatotions

对所有操作请求都进行重试

MaxAutoRetriesNextServer

切换服务器实例的重试次数,

MaxAutoRetries

对当前实例的重试次数

ServerListRefreshInterval

刷新服务列表源的间隔时间