东莞市盛裕绒艺玩具有限公司

东莞市盛裕绒艺玩具有限公司

利来w66官网下载

13651244358
联系方式
全国服务热线: 13651244358

咨询热线:13936208332
联系人:肖中国
地址:青海省西宁市小商品市场113-116

禁用feign retryer

来源:利来w66官网下载   发布时间:2019-11-05   点击量:226

         为什么要禁用retryer?其实主要是为了Debug,禁用feign retryer有两面性,如果接口做好幂等性,retry不影响,但是总有一些意外发生,比如:有一个实例发生了故障而该情况还没有被服务治理机制及时的发现和摘除,这时候客户端访问该节点的时候自然会失败。所以,为了构建更为健壮的应用系统,我们希望当请求失败的时候能够有一定策略的重试机制,而不是直接返回失败。这个时候就需要Retryer;像一些更新德接口,如果不做好幂等性,retry可能会导致数据错乱;dev环境feign调用会频繁出现retry,影响Debug;下面让我们一起开启debug模式:

1,下载feign-core

// https://mvnrepository.com/artifact/com.netflix.feign/feign-coreruntime group: "com.netflix.feign", name: "feign-core", version: "8.18.0"

feign-core是runtime不是compile,build会报错;把jar包下载下来放在libs目录下,用compile的方式。

compile fileTree(dir:"libs",include:["*.jar"])

2,Retryer不去重试

@Configurationpublic class RetryerConfig { @Bean @Primary Retryer feignRetryer() { return Retryer.NEVER_RETRY; }}

配置完retryer之后还会出现两次请求,为什么?我们没有配置ribbon相关的properties。

3,Ribbon properties

#Max number of retriesribbon.MaxAutoRetries=0#Max number of next servers to retry (excluding the first server)ribbon.MaxAutoRetriesNextServer=0#Whether all operations can be retried for this clientribbon.OkToRetryOnAllOperations=false#Interval to refresh the server list from the sourceribbon.ServerListRefreshInterval=2000#Connect timeout used by Apache HttpClientribbon.ConnectTimeout=3000#Read timeout used by Apache HttpClientribbon.ReadTimeout=5000

xxx-service.ribbon.ConnectTimeout:请求连接的超时时间

xxx-service.ribbon.ReadTimeout:请求处理的超时时间

xxx-service.ribbon.OkToRetryOnAllOperations:对所有操作请求都进行重试

xxx-service.ribbon.MaxAutoRetriesNextServer:切换实例的重试次数

xxx-service.ribbon.MaxAutoRetries:对当前实例的重试次数

         根据如上配置,当访问到故障请求的时候,它会再尝试访问一次当前实例(次数由MaxAutoRetries配置),如果不行,就换一个实例进行访问,如果还是不行,再换一次实例访问(更换次数由MaxAutoRetriesNextServer配置),如果依然不行,返回失败信息。大家要设置Connect和Read超时时间的话,不要小于默认设置的超时时间;如果同时使用Retryer和Hystrix,建议Hystrix的超时>其他组件的超时,否则将可能导致重试特性失效。

        其实最后再次强调一下,这篇只适合debug,生产上不要去禁用Retryer,但是小伙伴们一定要做好幂等性。下一篇聊一下Hystrix,欢迎吐槽!上一篇小哥哥说过要考研,现在已经决定了,有考验经验的小伙伴可以留言分享一下经验。不要玻璃心,不怂就是一个字干!自勉!

 

, 1, 0, 9);

相关产品

COPYRIGHTS©2017 利来w66官网下载 ALL RIGHTS RESERVED 备案号:226