1、负载均衡
Feign调用服务的默认时长是1秒钟,也就是如果超过1秒没连接上或者超过1秒没响应,就会相应的报错。Feign 的负载均衡底层用的是 Ribbon,其配置如下:
ribbon:
ReadTimeout:10000#指的是建立连接所用的时间,适用于网络状况正常的情况下,两端连接所用的时间。
ConnectTimeout:10000#指的是建立连接后从服务器读取到可用资源所用的时间。
2、网关超时配置
zull:
host:
socket-timeout-millis:500
connect-timeout-millis:500
3、Feign的Hystrix熔断功能配置
feign:
hystrix:
enabled:true
hystrix:
command:
default:#default全局有效,serviceid指定应用有效
execution:
timeout:
#如果enabled设置为false,则请求超时交给ribbon控制,为true,则超时作为熔断根据
enabled:true
isolation:
thread:
timeoutInMilliseconds:1000#断路器超时时间,默认1000ms
注意:当Feign的read-timeout大于Hytrix的超时时间时,此时如果本服务调用的第三方接口响应时间较长,请求到hytrix超时时间仍未返回,则进行熔断。而此时请求第三方接口并未终止,直到到读取超时时间,请求第三方接口的连接才终止。
本文详细介绍了Feign中负载均衡、网关超时及Hystrix熔断功能的配置方法,包括Ribbon的连接与读取超时时间、Zuul的连接超时配置以及Feign配合Hystrix实现的熔断机制。
167万+





