frlzk opened a new issue, #10755:
URL: https://github.com/apache/dubbo/issues/10755

   - [* ] I have searched the [issues](https://github.com/apache/dubbo/issues) 
of this repository and believe that this is not a duplicate.
   
   ### Environment
   
   * Dubbo version: 3.1.1
   * Operating System version: Ubuntu20
   * Java version: 1.8
   * Nacos 2.0
   * Zookeeper3.6.2
   
   ### Steps to reproduce this issue
   一个java接口 HelloService
   两个服务实例appA,appB
   6个实现类, 在appA上有 实现类 HelloService1 分组 hello-a1 , HelloService2 分组 hello-a2 , 
HelloService3 分组 hello-3 ;
          在appB上有 HelloService1 分组 hello-b1 , HelloService2 分组 hello-b2 , 
HelloService3 分组 hello-3
   注册中心分别使用 Nacos 和 Zookeeper ; dubbo.application.service-discovery.migration 
分别设置 FORCE_INTERFACE 和 FORCE_APPLICATION
   
   实现org.apache.dubbo.registry.AddressListener :
   @Activate
   public class MyAddressListener implements AddressListener {
        @Override
        public List<URL> notify(List<URL> addresses, URL consumerUrl, Directory 
registryDirectory) {
                System.out.println("consumerUrl是: "+consumerUrl);
                System.out.println("addresses是: "+addresses);
                return addresses;
        }
   }
   
   ### Expected Behavior
   接口行为不一致地方:
        1.FORCE_INTERFACE 时,Nacos第二个服务启动时addresses包含全部接口地址,而Zookeeper 
启动到第二个服务时,addresses只包含了部分接口地址。
                应该包含全部的接口地址。
        2.FORCE_INTERFACE时addresses是接口地址,而FORCE_APPLICATION时addresses是服务实例地址。
                应该是接口地址信息。
   
   ### Actual Behavior
   AddressListener 接收到的数据:      
   1.注册中心使用Zookeeper时
        1.1 dubbo.application.service-discovery.migration=FORCE_INTERFACE
                1.1.1 启动一个服务时
                        consumerUrl是: 
consumer://172.17.0.1/com.hello.HelloService?application=app-a&background=false&check=false&dubbo=2.0.2&group=*&interface=com.hello.HelloService&methods=call,name,run&pid=1164&qos.enable=false&register.ip=172.17.0.1&release=3.1.1&scope=remote&side=consumer&sticky=false&timestamp=1665622055797&unloadClusterRelated=false:
                        addresses是: 
[dubbo://172.17.0.1:20995/com.hello.HelloService?anyhost=true&application=app-a&background=false&category=providers,configurators,routers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&group=hello-3&interface=com.hello.HelloService&ispuserver=true&methods=call,name,run&pid=1164&qos.enable=false&release=3.1.1&scope=remote&serialization=java&service-name-mapping=true&side=provider&sticky=false&unloadClusterRelated=false,
 
dubbo://172.17.0.1:20995/com.hello.HelloService?anyhost=true&application=app-a&background=false&category=providers,configurators,routers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&group=hello-a1&interface=com.hello.HelloService&ispuserver=true&methods=call,name,run&pid=1164&qos.enable=false&release=3.1.1&scope=remote&serialization=java&service-name-mapping=true&side=provider&sticky=false&unloadClusterRelated=false,
 
dubbo://172.17.0.1:20995/com.hello.HelloService?anyhost=true&application=app-a&background=
 
false&category=providers,configurators,routers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&group=hello-a2&interface=com.hello.HelloService&ispuserver=true&methods=call,name,run&pid=1164&qos.enable=false&release=3.1.1&scope=remote&serialization=java&service-name-mapping=true&side=provider&sticky=false&unloadClusterRelated=false]
                1.1.2 启动两个服务时
                        consumerUrl是: 
consumer://172.17.0.1/com.hello.HelloService?application=app-a&background=false&check=false&dubbo=2.0.2&group=hello-b2&interface=com.hello.HelloService&methods=call,name,run&pid=1164&qos.enable=false&register.ip=172.17.0.1&release=3.1.1&side=consumer&sticky=false&timestamp=1665622168036&unloadClusterRelated=false:
                        addresses是: 
[dubbo://172.17.0.1:20996/com.hello.HelloService?anyhost=true&application=app-b&background=false&category=providers,configurators,routers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&group=hello-b2&interface=com.hello.HelloService&ispuserver=true&methods=call,name,run&pid=1164&qos.enable=false&release=3.1.1&serialization=java&service-name-mapping=true&side=provider&sticky=false&unloadClusterRelated=false]
        1.2. dubbo.application.service-discovery.migration=FORCE_APPLICATION
                1.2.1 启动一个服务时
                        consumerUrl是: 
consumer://172.17.0.1/com.hello.HelloService?application=app-a&background=false&check=false&dubbo=2.0.2&group=*&interface=com.hello.HelloService&methods=call,name,run&pid=4784&qos.enable=false&register.ip=172.17.0.1&release=3.1.1&scope=remote&side=consumer&sticky=false&timestamp=1665622285079&unloadClusterRelated=false:
                        addresses是: 
[DefaultServiceInstance{serviceName='app-a', host='172.17.0.1', port=20995, 
enabled=true, healthy=true, 
metadata={dubbo.endpoints=[{"port":20995,"protocol":"dubbo"}], 
dubbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.1.1","side":"provider","port":"20995","protocol":"dubbo"},
 dubbo.metadata.revision=ac5b0b2266a48121bb9350ea58e91585, 
dubbo.metadata.storage-type=local, timestamp=1665622281103}}, null, 
DefaultServiceInstance{serviceName='app-a', host='172.17.0.1', port=20995, 
enabled=true, healthy=true, 
metadata={dubbo.endpoints=[{"port":20995,"protocol":"dubbo"}], 
dubbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.1.1","side":"provider","port":"20995","protocol":"dubbo"},
 dubbo.metadata.revision=ac5b0b2266a48121bb9350ea58e91585, 
dubbo.metadata.storage-type=local, timestamp=1665622281103}}, null, 
DefaultServiceInstance{serviceName='app-a', host='172.17.0.1', port=20995
 , enabled=true, healthy=true, 
metadata={dubbo.endpoints=[{"port":20995,"protocol":"dubbo"}], 
dubbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.1.1","side":"provider","port":"20995","protocol":"dubbo"},
 dubbo.metadata.revision=ac5b0b2266a48121bb9350ea58e91585, 
dubbo.metadata.storage-type=local, timestamp=1665622281103}}, null]
                1.2.2 启动两个服务时
                        consumerUrl是: 
consumer://172.17.0.1/com.hello.HelloService?application=app-a&background=false&check=false&dubbo=2.0.2&group=*&interface=com.hello.HelloService&methods=call,name,run&pid=4784&qos.enable=false&register.ip=172.17.0.1&release=3.1.1&scope=remote&side=consumer&sticky=false&timestamp=1665622285079&unloadClusterRelated=false:
                        addresses是: 
[DefaultServiceInstance{serviceName='app-b', host='172.17.0.1', port=20996, 
enabled=true, healthy=true, 
metadata={dubbo.endpoints=[{"port":20996,"protocol":"dubbo"}], 
dubbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.1.1","side":"provider","port":"20996","protocol":"dubbo"},
 dubbo.metadata.revision=8f2ddbcaac73c63a9c39699e56cb4c37, 
dubbo.metadata.storage-type=local, timestamp=1665622365911}}, null, 
DefaultServiceInstance{serviceName='app-a', host='172.17.0.1', port=20995, 
enabled=true, healthy=true, 
metadata={dubbo.endpoints=[{"port":20995,"protocol":"dubbo"}], 
dubbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.1.1","side":"provider","port":"20995","protocol":"dubbo"},
 dubbo.metadata.revision=ac5b0b2266a48121bb9350ea58e91585, 
dubbo.metadata.storage-type=local, timestamp=1665622281103}}, null, 
DefaultServiceInstance{serviceName='app-a', host='172.17.0.1', port=20995
 , enabled=true, healthy=true, 
metadata={dubbo.endpoints=[{"port":20995,"protocol":"dubbo"}], 
dubbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.1.1","side":"provider","port":"20995","protocol":"dubbo"},
 dubbo.metadata.revision=ac5b0b2266a48121bb9350ea58e91585, 
dubbo.metadata.storage-type=local, timestamp=1665622281103}}, null, 
DefaultServiceInstance{serviceName='app-b', host='172.17.0.1', port=20996, 
enabled=true, healthy=true, 
metadata={dubbo.endpoints=[{"port":20996,"protocol":"dubbo"}], 
dubbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.1.1","side":"provider","port":"20996","protocol":"dubbo"},
 dubbo.metadata.revision=8f2ddbcaac73c63a9c39699e56cb4c37, 
dubbo.metadata.storage-type=local, timestamp=1665622365911}}, null, 
DefaultServiceInstance{serviceName='app-a', host='172.17.0.1', port=20995, 
enabled=true, healthy=true, 
metadata={dubbo.endpoints=[{"port":20995,"protocol":"dubbo"}], du
 
bbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.1.1","side":"provider","port":"20995","protocol":"dubbo"},
 dubbo.metadata.revision=ac5b0b2266a48121bb9350ea58e91585, 
dubbo.metadata.storage-type=local, timestamp=1665622281103}}, null, 
DefaultServiceInstance{serviceName='app-b', host='172.17.0.1', port=20996, 
enabled=true, healthy=true, 
metadata={dubbo.endpoints=[{"port":20996,"protocol":"dubbo"}], 
dubbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.1.1","side":"provider","port":"20996","protocol":"dubbo"},
 dubbo.metadata.revision=8f2ddbcaac73c63a9c39699e56cb4c37, 
dubbo.metadata.storage-type=local, timestamp=1665622365911}}, null]
   2.注册中心使用Nacos时
        2.1 dubbo.application.service-discovery.migration=FORCE_INTERFACE
                2.1.1 启动一个服务时
                        consumerUrl是: 
consumer://172.17.0.1/com.hello.HelloService?application=app-a&background=false&check=false&dubbo=2.0.2&group=*&interface=com.hello.HelloService&methods=call,name,run&pid=11482&qos.enable=false&register.ip=172.17.0.1&release=3.1.1&scope=remote&side=consumer&sticky=false&timestamp=1665622634134&unloadClusterRelated=false:
                        addresses是: 
[dubbo://172.17.0.1:20995/com.hello.HelloService?anyhost=true&application=app-a&background=false&category=providers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&group=hello-3&interface=com.hello.HelloService&ispuserver=true&methods=call,name,run&path=com.hello.HelloService&pid=11482&protocol=dubbo&qos.enable=false&release=3.1.1&scope=remote&serialization=java&service-name-mapping=true&side=provider&sticky=false&timestamp=1665622630127&unloadClusterRelated=false,
 
dubbo://172.17.0.1:20995/com.hello.HelloService?anyhost=true&application=app-a&background=false&category=providers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&group=hello-a2&interface=com.hello.HelloService&ispuserver=true&methods=call,name,run&path=com.hello.HelloService&pid=11482&protocol=dubbo&qos.enable=false&release=3.1.1&scope=remote&serialization=java&service-name-mapping=true&side=provider&sticky=false&timestamp=1665622629873&unloadClusterRelated=fal
 se, 
dubbo://172.17.0.1:20995/com.hello.HelloService?anyhost=true&application=app-a&background=false&category=providers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&group=hello-a1&interface=com.hello.HelloService&ispuserver=true&methods=call,name,run&path=com.hello.HelloService&pid=11482&protocol=dubbo&qos.enable=false&release=3.1.1&scope=remote&serialization=java&service-name-mapping=true&side=provider&sticky=false&timestamp=1665622629597&unloadClusterRelated=false]
                2.1.2 启动两个服务时
                        consumerUrl是: 
consumer://172.17.0.1/com.hello.HelloService?application=app-a&background=false&check=false&dubbo=2.0.2&group=*&interface=com.hello.HelloService&methods=call,name,run&pid=11482&qos.enable=false&register.ip=172.17.0.1&release=3.1.1&scope=remote&side=consumer&sticky=false&timestamp=1665622634134&unloadClusterRelated=false:
                        addresses是: 
[dubbo://172.17.0.1:20995/com.hello.HelloService?anyhost=true&application=app-a&background=false&category=providers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&group=hello-3&interface=com.hello.HelloService&ispuserver=true&methods=call,name,run&path=com.hello.HelloService&pid=11482&protocol=dubbo&qos.enable=false&release=3.1.1&scope=remote&serialization=java&service-name-mapping=true&side=provider&sticky=false&timestamp=1665622630127&unloadClusterRelated=false,
 
dubbo://172.17.0.1:20996/com.hello.HelloService?anyhost=true&application=app-b&background=false&category=providers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&group=hello-3&interface=com.hello.HelloService&ispuserver=true&methods=call,name,run&path=com.hello.HelloService&pid=12674&protocol=dubbo&qos.enable=false&release=3.1.1&scope=remote&serialization=java&service-name-mapping=true&side=provider&sticky=false&timestamp=1665622707069&unloadClusterRelated=fals
 e, 
dubbo://172.17.0.1:20995/com.hello.HelloService?anyhost=true&application=app-a&background=false&category=providers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&group=hello-a2&interface=com.hello.HelloService&ispuserver=true&methods=call,name,run&path=com.hello.HelloService&pid=11482&protocol=dubbo&qos.enable=false&release=3.1.1&scope=remote&serialization=java&service-name-mapping=true&side=provider&sticky=false&timestamp=1665622629873&unloadClusterRelated=false,
 
dubbo://172.17.0.1:20995/com.hello.HelloService?anyhost=true&application=app-a&background=false&category=providers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&group=hello-a1&interface=com.hello.HelloService&ispuserver=true&methods=call,name,run&path=com.hello.HelloService&pid=11482&protocol=dubbo&qos.enable=false&release=3.1.1&scope=remote&serialization=java&service-name-mapping=true&side=provider&sticky=false&timestamp=1665622629597&unloadClusterRelated=false,
 dubbo://172.17
 
.0.1:20996/com.hello.HelloService?anyhost=true&application=app-b&background=false&category=providers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&group=hello-b2&interface=com.hello.HelloService&ispuserver=true&methods=call,name,run&path=com.hello.HelloService&pid=12674&protocol=dubbo&qos.enable=false&release=3.1.1&scope=remote&serialization=java&service-name-mapping=true&side=provider&sticky=false&timestamp=1665622706482&unloadClusterRelated=false,
 
dubbo://172.17.0.1:20996/com.hello.HelloService?anyhost=true&application=app-b&background=false&category=providers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&group=hello-b1&interface=com.hello.HelloService&ispuserver=true&methods=call,name,run&path=com.hello.HelloService&pid=12674&protocol=dubbo&qos.enable=false&release=3.1.1&scope=remote&serialization=java&service-name-mapping=true&side=provider&sticky=false&timestamp=1665622704759&unloadClusterRelated=false]
  
        2.2 dubbo.application.service-discovery.migration=FORCE_APPLICATION
                2.2.1 启动一个服务时
                        consumerUrl是: 
consumer://172.17.0.1/com.hello.HelloService?application=app-a&background=false&check=false&dubbo=2.0.2&group=*&interface=com.hello.HelloService&methods=call,name,run&pid=8357&qos.enable=false&register.ip=172.17.0.1&release=3.1.1&scope=remote&side=consumer&sticky=false&timestamp=1665622482983&unloadClusterRelated=false:
                        addresses是: 
[DefaultServiceInstance{serviceName='app-a', host='172.17.0.1', port=20995, 
enabled=true, healthy=true, 
metadata={dubbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.1.1","side":"provider","port":"20995","protocol":"dubbo"},
 dubbo.endpoints=[{"port":20995,"protocol":"dubbo"}], 
dubbo.metadata.revision=ac5b0b2266a48121bb9350ea58e91585, 
dubbo.metadata.storage-type=local, timestamp=1665622477401}}, null, 
DefaultServiceInstance{serviceName='app-a', host='172.17.0.1', port=20995, 
enabled=true, healthy=true, 
metadata={dubbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.1.1","side":"provider","port":"20995","protocol":"dubbo"},
 dubbo.endpoints=[{"port":20995,"protocol":"dubbo"}], 
dubbo.metadata.revision=ac5b0b2266a48121bb9350ea58e91585, 
dubbo.metadata.storage-type=local, timestamp=1665622477401}}, null, 
DefaultServiceInstance{serviceName='app-a', host='172.17.0.1', port=20995
 , enabled=true, healthy=true, 
metadata={dubbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.1.1","side":"provider","port":"20995","protocol":"dubbo"},
 dubbo.endpoints=[{"port":20995,"protocol":"dubbo"}], 
dubbo.metadata.revision=ac5b0b2266a48121bb9350ea58e91585, 
dubbo.metadata.storage-type=local, timestamp=1665622477401}}, null]
                2.2.1 启动两个服务时
                        consumerUrl是: 
consumer://172.17.0.1/com.hello.HelloService?application=app-a&background=false&check=false&dubbo=2.0.2&group=*&interface=com.hello.HelloService&methods=call,name,run&pid=8357&qos.enable=false&register.ip=172.17.0.1&release=3.1.1&scope=remote&side=consumer&sticky=false&timestamp=1665622482983&unloadClusterRelated=false:
                        addresses是: 
[DefaultServiceInstance{serviceName='app-b', host='172.17.0.1', port=20996, 
enabled=true, healthy=true, 
metadata={dubbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.1.1","side":"provider","port":"20996","protocol":"dubbo"},
 dubbo.endpoints=[{"port":20996,"protocol":"dubbo"}], 
dubbo.metadata.revision=8f2ddbcaac73c63a9c39699e56cb4c37, 
dubbo.metadata.storage-type=local, timestamp=1665622552352}}, null, 
DefaultServiceInstance{serviceName='app-a', host='172.17.0.1', port=20995, 
enabled=true, healthy=true, 
metadata={dubbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.1.1","side":"provider","port":"20995","protocol":"dubbo"},
 dubbo.endpoints=[{"port":20995,"protocol":"dubbo"}], 
dubbo.metadata.revision=ac5b0b2266a48121bb9350ea58e91585, 
dubbo.metadata.storage-type=local, timestamp=1665622477401}}, null, 
DefaultServiceInstance{serviceName='app-a', host='172.17.0.1', port=20995
 , enabled=true, healthy=true, 
metadata={dubbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.1.1","side":"provider","port":"20995","protocol":"dubbo"},
 dubbo.endpoints=[{"port":20995,"protocol":"dubbo"}], 
dubbo.metadata.revision=ac5b0b2266a48121bb9350ea58e91585, 
dubbo.metadata.storage-type=local, timestamp=1665622477401}}, null, 
DefaultServiceInstance{serviceName='app-b', host='172.17.0.1', port=20996, 
enabled=true, healthy=true, 
metadata={dubbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.1.1","side":"provider","port":"20996","protocol":"dubbo"},
 dubbo.endpoints=[{"port":20996,"protocol":"dubbo"}], 
dubbo.metadata.revision=8f2ddbcaac73c63a9c39699e56cb4c37, 
dubbo.metadata.storage-type=local, timestamp=1665622552352}}, null, 
DefaultServiceInstance{serviceName='app-a', host='172.17.0.1', port=20995, 
enabled=true, healthy=true, 
metadata={dubbo.metadata-service.url-params={"connections":"1","v
 
ersion":"1.0.0","dubbo":"2.0.2","release":"3.1.1","side":"provider","port":"20995","protocol":"dubbo"},
 dubbo.endpoints=[{"port":20995,"protocol":"dubbo"}], 
dubbo.metadata.revision=ac5b0b2266a48121bb9350ea58e91585, 
dubbo.metadata.storage-type=local, timestamp=1665622477401}}, null, 
DefaultServiceInstance{serviceName='app-b', host='172.17.0.1', port=20996, 
enabled=true, healthy=true, 
metadata={dubbo.metadata-service.url-params={"connections":"1","version":"1.0.0","dubbo":"2.0.2","release":"3.1.1","side":"provider","port":"20996","protocol":"dubbo"},
 dubbo.endpoints=[{"port":20996,"protocol":"dubbo"}], 
dubbo.metadata.revision=8f2ddbcaac73c63a9c39699e56cb4c37, 
dubbo.metadata.storage-type=local, timestamp=1665622552352}}, null]
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to