OpenFeign调用的超时控制
超时控制
Ribbon在调用时,可以设置2个时间
默认Feign客户端只等待1秒钟,但是服务端处理需要超过1秒钟,导致Feign客户端不想等待了 ,直接返回报错。为了避免这样的情况,有时候我们需要设置Feign客户端的超时控制。
可以在ymI文件中开启配置
全局配置
# ribbon的全局时间配置
ribbon:
ConnectTimeout: 250 # Ribbon的连接超时时间(毫秒)
ReadTimeout: 2000 # Ribbon的数据读取超时时间(毫秒)
全局配置,一旦配置那么针对所有的微服务调用都是生效的
局部配置
micro-base-server: #微服务的名称
ribbon:
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RetryRule
ConnectTimeout: 250 # Ribbon的连接超时时间(毫秒)
ReadTimeout: 1000 # Ribbon的数据读取超时时间
OkToRetryOnAllOperations: true # 是否对所有操作都进行重试
MaxAutoRetriesNextServer: 1 # 切换实例的重试次数
MaxAutoRetries: 1 # 对当前实例的重试次数
局部配置,针对某一个微服务进行配置以后,该微服务将生效
当全局配置和局部配置,同时存在将以 “局部配置为主”