Skip to content

dubbo2.7.11自定义负载loadBalance,使用provider中parameters参数标签,发现consumer中Directory拿到List<Invoker<T>>与nacos注册中心不一致 #8097

@caofei88

Description

@caofei88

背景: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"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions