为什么dubboprovider重试配置无效?

问题描述 投票:0回答:2

dubbo版本:2.7.14 spring cloud && nacos 2.0.3 注册中心

我在application.yml中设置了dubbo.provider.retries=0,注册到nacos后,好像配置生效了。

但是当消费者调用其中一个方法时,消费者仍然重试了3次(默认次数)。那么为什么配置无效让我很困惑。

如果您有什么想法,请告诉我,谢谢!抱歉我的英语不好...

rpc provider apache-dubbo
2个回答
0
投票

检查消费者的配置。
https://dubbo.apache.org/zh/docs/v2.7/user/configuration/xml/
Consumer的配置具有更高的优先级。

覆盖和优先级
以超时为例,这里是优先级,从高到低(重试,负载均衡,actives也适用同样的规则):
方法级别,接口级别,默认/全局级别
在同一级别,消费者的优先级高于提供商


0
投票

重试配置与超时配置有区别。
正如 FailoverClusterInvoker 中所知,当调用程序关闭时,它将重试其他调用程序。
但是当有两个不同的调用者重试时,调用者应该选择哪个效果。

dubbo 2.7 重试来自url消费者

int len = getUrl().getMethodParameter(methodName, RETRIES_KEY, DEFAULT_RETRIES) + 1;

当创建调用者时,它将被多次引用
org.apache.dubbo.rpc.cluster.support.ClusterUtils.mergeUrl
并使用最终提供商的配置

以及3.2中 这个 getUrl() 仅在参考配置中的配置时才会更改。

在超时中,每个提供者调用者都可以有自己的超时。

© www.soinside.com 2019 - 2024. All rights reserved.