Feign 重试是否需要某种配置?
Does Feign retry require some sort of configuration?
我刚刚尝试在测试设置中尝试无缝升级服务。 Feign 客户端正在访问该服务。天真地,我的印象是,如果服务有多个可用实例,客户端会在无法连接到一个实例时重试另一个实例。
然而,这并没有发生。但是我找不到任何关于 Feign in Spring Cloud 应该如何配置来执行此操作的提及?尽管我看到有人提到它支持它(而不是使用 RestTemplate,你会使用类似 Spring Retry?)
如果您使用的是功能区,则可以设置类似于以下的属性(将 "localapp" 替换为您的 serviceid):
localapp.ribbon.MaxAutoRetries=5
localapp.ribbon.MaxAutoRetriesNextServer=5
localapp.ribbon.OkToRetryOnAllOperations=true
看看 属性 是否有效 - OkToRetryOnAllOperations: true
Spencer 很快...迟到了几分钟:-)
psFeign下面有一个Retryer接口,用来支持Ribbon之类的东西。
https://github.com/Netflix/feign/blob/master/core/src/main/java/feign/Retryer.java
我刚刚尝试在测试设置中尝试无缝升级服务。 Feign 客户端正在访问该服务。天真地,我的印象是,如果服务有多个可用实例,客户端会在无法连接到一个实例时重试另一个实例。
然而,这并没有发生。但是我找不到任何关于 Feign in Spring Cloud 应该如何配置来执行此操作的提及?尽管我看到有人提到它支持它(而不是使用 RestTemplate,你会使用类似 Spring Retry?)
如果您使用的是功能区,则可以设置类似于以下的属性(将 "localapp" 替换为您的 serviceid):
localapp.ribbon.MaxAutoRetries=5
localapp.ribbon.MaxAutoRetriesNextServer=5
localapp.ribbon.OkToRetryOnAllOperations=true
看看 属性 是否有效 - OkToRetryOnAllOperations: true
Spencer 很快...迟到了几分钟:-)
psFeign下面有一个Retryer接口,用来支持Ribbon之类的东西。
https://github.com/Netflix/feign/blob/master/core/src/main/java/feign/Retryer.java