元数据中心

提示

Dubbo 元数据中心仅适用于北极星服务端版本 >= 1.18.0

Dubbo 分类

Dubbo当前常用的有2个分支版本,一个是apache dubbo(GroupID是org.apache.dubbo), 一个是dubbox (GroupID是com.alibaba)。两个分支的dubbo,对应不同的接入插件,大家接入之前可以先通过GroupID判断下当前项目依赖的是哪个分支的dubbo。

Apache Dubbo 接入

支持版本

  • dubbo 3.x 版本的接入,最新版本请参考: release

引入依赖

在 pom.xml 中引入以下依赖

<!-- 北极星注册发现插件 -->
<dependency>
      <groupId>com.tencent.polaris</groupId>
      <artifactId>dubbo-registry-polaris</artifactId>
      <version>${version}</version>
</dependency>
<!-- 北极星元数据中心插件 -->
<dependency>
    <groupId>com.tencent.polaris</groupId>
    <artifactId>dubbo-metadatareport-polaris</artifactId>
    <version>${revision}</version>
</dependency>

参数配置

接下来,需要添加北极星 metadata-report 的配置,指定北极星的地址及相关配置信息,可以通过配置文件及代码的方式进行指定:

配置文件方式添加:

dubbo.metadata-report.address=polaris://127.0.0.1:8091

北极星地址的URL支持通过参数指定可选的配置,具体参数列表如下:

参数 类型 含义 支持版本
namespace string 指定服务的命名空间 起始版本:0.1.0-3.2.7
token string 指定用户token 起始版本:0.1.0-3.2.7
multi_address string 仅用于元数据中心多注册多发现, eg: nacos://127.0.0.1:8848?namespace=xxxxx&username=xxx 起始版本:0.3.2-3.2.7

结果验证

服务接口定义

服务契约名称格式样例

"name":  "dubbo::metadata::dubbo-provider::2e2e13eddf24272edcaa60c34afc5067",
"namespace":  "dubbo",
"service":  "dubbo-provider",
"protocol":  "dubbo",
"version":  "",
"revision":  "2e2e13eddf24272edcaa60c34afc5067",

服务接口运维数据

服务契约名称格式样例

"name":  "dubbo::metadata::1.0.0::provider::dubbo-provider",
"namespace":  "dubbo",
"service":  "dubbo-provider",
"protocol":  "dubbo",
"version":  "1.0.0",
"revision":  "d297643d19dc4700a8c11d7fd57ef808",

接口-应用映射

服务契约名称格式样例

"name": "dubbo::mapping::com.tencent.polaris.dubbo.api.HelloService",
"namespace": "dubbo",
"service": "",
"protocol": "dubbo",
"version": "",
"revision": "f31bc6a132c84ce9afc39c1b98fdb6a7",

查询该接口下有多少应用提供了该接口

{
    "@type": "type.googleapis.com/v1.ServiceContract",
    "id": "535e686a7e8707b1d53e63f7578e80a2a94e4747",
    "name": "dubbo::mapping::com.tencent.polaris.dubbo.api.HelloService",
    "namespace": "dubbo",
    "service": "",
    "protocol": "dubbo",
    "version": "",
    "revision": "f31bc6a132c84ce9afc39c1b98fdb6a7",
    "content": "",
    "interfaces": [
        {
            "id": "6be61ef353a9e1918d5b84c100db0c8a5637f5a5",
            "name": "dubbo-provider"
        }
    ]
}