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®ister.ip=172.17.0.1&release=3.1.1&scope=remote&side=consumer&sticky=false×tamp=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®ister.ip=172.17.0.1&release=3.1.1&side=consumer&sticky=false×tamp=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®ister.ip=172.17.0.1&release=3.1.1&scope=remote&side=consumer&sticky=false×tamp=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®ister.ip=172.17.0.1&release=3.1.1&scope=remote&side=consumer&sticky=false×tamp=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®ister.ip=172.17.0.1&release=3.1.1&scope=remote&side=consumer&sticky=false×tamp=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×tamp=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×tamp=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×tamp=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®ister.ip=172.17.0.1&release=3.1.1&scope=remote&side=consumer&sticky=false×tamp=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×tamp=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×tamp=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×tamp=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×tamp=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×tamp=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×tamp=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®ister.ip=172.17.0.1&release=3.1.1&scope=remote&side=consumer&sticky=false×tamp=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®ister.ip=172.17.0.1&release=3.1.1&scope=remote&side=consumer&sticky=false×tamp=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]
