背景:provider起两个服务,使用parameters参数,consumer中去订阅,发现在Directory拿到List<Invoker>与nacos注册中心不一致
问题定位代码在类DubboCloudRegistry 154行 方法subscribeURLs里面调用
172的这行代码有问题:
List subscribedURLs = this.cloneExportedURLs(subscribedURL, serviceInstances);
拿到的url对象跟nacos中metadata信息不一致, 多次debug执行会产生不一样的结果 (dubbo 2.7.6 2.7.8同样存在)
demo地址见:git@github.com:caofei88/dubbo-spring-cloud-demo.git
这个包里面类 DubboCloudRegistry
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-dubbo</artifactId>
<version>2.2.5.RELEASE</version>
</dependency>
部分provider配置
provider:
filter: tracing
parameters:
dcCode: "dcCode1"
provider:
filter: tracing
parameters:
dcCode: "dcCode2"