整合DubboAdmin
在Nacos和Dubbo整合DubboAdmin时发现无法显示元数据。
提示需要升级到Dubbo2.7版本及以上版本。但使用的版本是2.7.4.1!讲道理不应该出行该提示。于是点击详见查看文档。
官方文档只有zookeeper的配置,而我使用的是Nacos。配置如下
admin.registry.address=nacos://127.0.0.1:8848?group=DEFAULT_GROUP&namespace=0f6be6cf-...
admin.config-center=nacos://127.0.0.1:8848?group=DEFAULT_GROUP&namespace=0f6be6cf-...
admin.metadata-report.address=nacos://127.0.0.1:8848?group=DEFAULT_GROUP&namespace=0f6be6cf-...
服务能正常被查询,讲道理不应该出问题。
于是乎某度了很久找到一位大哥和我一样的问题。但他的解决方案走了歪路,没从根本上解决问题。 点击查看大哥文章
思考良久,最终发现DubboAdmin在启动成功后自己也会注册一个org.apache.dubbo.mock.api.MockService服务,而这个服务的元数据是能正常显示。在nacos配置中心可以看到相关的配置信息:
猜测为DubboAdmin启动时写入,为了验证这一说法我主动删除了这两个配置,在刷新DubboAdmin页面,果然org.apache.dubbo.mock.api.MockService服务的元数据也不能正常显示。接着重启DubboAdmin后Nacos中删掉的配置有重新写入了,且元数据也能正常显示。
这一操作证明 DubboAdmin 将Nacos配置中心作为元数据存储中心使用。也就是说我需要在dubbo服务提供者端主动上传到Nacos配置中心。按理那么应该是我dubbo服务没有配置,于是通过配置文件代码提示找到了相关配置
重启服务后总算能正常查看接口元数据了。
最终配置
- 在DubboAdmin配置管理中添加全局配置,配置元数据上报中心地址
- 配置完成后nacos配置中心会生成dubbo.properties配置项
- 项目dubbo服务中配置加载全局配置dubbo.properties
总结
- 元数据没有正常显示的原因是因为dubbo服务没有配置元数据上报地址。
- DubboAdmin官方文档没解释清楚。文档中在zk中配置其实就是让所有dubbo服务都能加载到元数据上报地址,但因为使用的是nacos,所以不知道如何新建/dubbo/config/dubbo/dubbo.properties配置在nacos中。