Feign重试是否需要某种配置?

时间:2015-03-20 13:52:37

标签: spring-cloud netflix-feign

我只是尝试在测试设置中尝试无缝升级服务。该服务由Feign客户端访问。天真地我认为,如果服务的多个实例可用,客户端将重试另一个实例,如果它无法连接到一个实例。

但是,这并没有发生。但是我找不到提到如何配置Spring Cloud中的Feign来做到这一点?虽然我已经看到它支持它(而不是使用RestTemplate,你会使用像Spring Retry这样的东西?)

3 个答案:

答案 0 :(得分:3)

如果您正在使用功能区,则可以设置与以下内容类似的属性(将“localapp”替换为您的serviceid):

localapp.ribbon.MaxAutoRetries=5
localapp.ribbon.MaxAutoRetriesNextServer=5
localapp.ribbon.OkToRetryOnAllOperations=true

答案 1 :(得分:2)

在Feign下面的ps有一个Retryer接口,用来支持Ribbon之类的东西。

https://github.com/Netflix/feign/blob/master/core/src/main/java/feign/Retryer.java

答案 2 :(得分:1)

查看属性是否有效 - OkToRetryOnAllOperations:true

您可以参考申请 - > https://github.com/spencergibb/spring-cloud-sandbox/blob/master/spring-cloud-sandbox-sample-frontend/src/main/resources/application.yml

斯宾塞很快......几分钟后才迟到了: - )