dubbo-admin-0.6.0:当dubbo服务的注册模式为应用级时,dubbo-admin查询不到服务
- [√] I have searched the issues of this repository and believe that this is not a duplicate.
- [√] I have checked the REAMDE of this repository and believe that this is not a duplicate.
Environment
- Dubbo Admin version: 0.6.0
- Registry center detail (type and version): nacos-2.2.4
- Operating System version: linux
- Java version: 1.7
Steps to reproduce this issue
dubbo.properties配置:
# instance / interface / all
dubbo.registry.register-mode=instance
- 当 register-mode=instance 时,dubbo-admin 查询不到服务
- 当 register-mode=all 或 interface 时,dubbo-admin 可以查询到服务
Expected Result
dubbo.registry.register-mode 为任何值都可以查询到服务。
Actual Result
当 register-mode=instance 时,dubbo-admin 查询不到服务
我们会首先尝试复现这个问题
可以在你部署dubbo-admin的那台机器上,ping一下服务提供者部署的机器ip,看是否能够ping通
可以在你部署dubbo-admin的那台机器上,ping一下服务提供者部署的机器ip,看是否能够ping通
都是同样的环境,只是修改了设置而已。
存在同样的问题
- 本地部署 provider, 强制只注册服务级接口 register-mode=instance
- 按照wiki修改注册中心, 然后启动 dubbo-admin-0.6.0, 查询不到任何服务
- 修改provider为双注册 register-mode=all, 然后重启 dubbo-admin-0.6.0, 服务正常调用
我也碰到了同样的问题,这个问题官网有修复吗
已临时解决:
1.application.properties需配置group与namespace,例如
dubbo.application.name=dubbo-admin
dubbo.registry.address=nacos://127.0.0.1:8848
dubbo.registry.username=nacos
dubbo.registry.password=nacos
dubbo.registry.parameters.namespace=xxx
dubbo.metadata-report.address=nacos://127.0.0.1:8848
dubbo.metadata-report.username=nacos
dubbo.metadata-report.password=nacos
dubbo.metadata-report.parameters.namespace=xxx
dubbo.metadata-report.group=test
2. NacosServiceMapping.java
getAllServiceNames()方法中需要将DEFAULT_GROUP改成配置文件中所在的group
并在listenerAll()方法中删除此判断
@Achieve777