wordpress邮件美化/seo博客模板
1、ribbon的超时配置
ribbon:OkToRetryOnAllOperations: false #对所有操作请求都进行重试,默认false,包括连接超时(connectTimeout)和请求超时(readTimeOut)ReadTimeout: 3000 #负载均衡超时时间,默认值5000ConnectTimeout: 2000 #ribbon请求连接的超时时间,默认值2000MaxAutoRetries: 0 #对当前实例的重试次数,默认0,不包含首次调用MaxAutoRetriesNextServer: 0 #对切换实例的重试次数,默认1,不包含首次调用
ribbon的配置类参考DefaultClientConfigImpl
2、hystrix的熔断配置
hystrix:command:default:execution:timeout:enabled: trueisolation:thread:timeoutInMilliseconds: 60000 #默认1000ms
3、feign的超时配置
feign:hystrix:enabled: true #默认为false,如果为false,则使用ribbon的超时设置和重试机制,否则使用feign的相关设置client:config:default:#连接到目标的时间,此处会收到注册中心启动中的影响。设置为3秒钟,如果注册中心有明显的不在线,基本是毫秒级熔断拒绝connectTimeout: 3000#获取目标连接后执行的最长时间,设置为32秒,即服务最长时readTimeout: 32000
注意事项:如果同时配置ribbon和feign的超时时间,以feign的为准
结论:根据上面分析,Hystrix的熔断时间要大于Feign或Ribbon的connectTimeout+readTimeout,
由于ribbon的重试次数为RetryCount = (maxAutoRetries + 1) * (maxAutoRetriesNextServer + 1),因此必须保证(maxAutoRetries + 1) * (maxAutoRetriesNextServer + 1)*(ConnectTimeout+ReadTimeout)< timeoutInMilliseconds,因为如果小于超时时间, 那就熔断了, 没有机会重试了。
具体可参考网址hystrix ,feign,ribbon的超时时间配置,以及原理分析