Skip to content

NamingServer Api docs

funkye edited this page Feb 26, 2024 · 1 revision

NamingServer API接口文档

1.register

**接口类型:**POST

**接口描述:**server节点注册接口

参数类型:

参数 类型 说明
namespace string 命名空间
clusterName string 集群名称
unit string raft模式中的raft-group,其它模式使用uuid表示
registerBody Node 注册的节点类

example:

//POST
http://127.0.0.1:8080/naming/v1/register?namespace=public&clusterName=cluster2&unit=21122862-16a1-4cbd-8808-0e23a0f4a8bf
//Body
{
"ip": "192.168.0.101", 
"port": 8091, 
"weight": 1.0, 
"healthy": true, 
"metadata": {"test1": "ab"}
}

返回值类型:

返回值 类型 说明
code string 返回码
msg string 提示信息

example:

{
"code":"200",
"msg":"node registered successfully!"
}

2.unregister

**接口类型:**POST

**接口描述:**server节点优雅下线接口

参数类型:

参数 类型 说明
unit string raft模式中的raft-group,其它模式使用uuid表示
registerBody Node 下线的节点类

example:

//POST
http://127.0.0.1:8080/naming/v1/unregister?unit=21122862-16a1-4cbd-8808-0e23a0f4a8bf
//Body
{
"ip": "192.168.0.101", 
"port": 8091, 
"weight": 1.0, 
"healthy": true, 
"metadata": {"test1": "ab"}
}

返回值类型:

返回值 类型 说明
code string 返回码
msg string 提示信息

example:

{
"code":"200",
"msg":"node unregistered successfully!"
}

3.changevGroup

**接口类型:**POST

**接口描述:**用于控制台修改vgroup→cluster的映射关系

参数类型:

参数 类型 说明
cluterName string 事务分组映射的集群名称
namespace string 命名空间
unitName string raft模式中的raft-group,其它模式使用uuid表示
vGroup string 事务分组名称

example:

//POST
http://127.0.0.1:8080/naming/v1/changeGroup?clusterName=cluster2&namespace=public&unitName&vGroup=my_test_tx_group

返回值类型:

返回值 类型 说明
code string 返回码
msg string 提示信息

example:

{
"code":"200",
"msg":null
}

4.lookup

**接口类型:**GET

**接口描述:**查询某个集群下所有的可用实例

参数类型:

参数 类型 说明
vGroup string 事务分组名称
namespace string 命名空间

example:

//GET
http://127.0.0.1:8080/naming/v1/discovery?vGroup=my_test_tx_group&namespace=public

返回值类型:

返回值 类型 说明
metaResponse MetaResponse 集群下的所有实例信息

example:

{
  "clusterList": [
    {
      "clusterName": "cluster2",
      "clusterType": "default",
      "unitData": [
        {
          "unitName": "d56c07f7-112d-4793-bbbb-e71086cdc1ce",
          "namingInstanceList": [
            {
              "ip": "172.21.19.196",
              "port": 8091,
              "nettyPort": 0,
              "grpcPort": 0,
              "weight": 1,
              "healthy": true,
              "timeStamp": 1694930438990,
              "role": null,
              "metadata": {
                "vGroup": {
                  "my_test_tx_group": null,
                },
                "weight": 1,
                "cluster-type": "default"
              }
            }
          ]
        }
      ]
    }
  ],
  "term": 1694930438993
}

5.watch

**接口类型:**GET

**接口描述:**订阅接口,如果有返回则namingserver中的集群发生了变动(例如有节点上下线)

参数类型:

参数 类型 说明
clientTerm long 客户端缓存的集群列表快照时间(即上一次lookup得到的时间戳)
vGroup string 事务分组名称
timeout string 超时时间

example:

//GET
http://127.0.0.1:8080/naming/v1/discovery?vGroup=my_test_tx_group&namespace=public

返回值类型

返回值 类型 说明

6.health

**接口类型:**GET

**接口描述:**对namingserver的健康检查接口

参数类型:

参数 类型 说明

example:

//GET
http://127.0.0.1:8081/naming/v1/health

返回值类型:

返回值 类型 说明
code string 返回码
msg string 提示信息

example:

{
"code":"200",
"msg":null
}

7.clusters

**接口类型:**GET

**接口描述:**控制台对namingserver所有集群信息的查看接口

参数类型:

参数 类型 说明
namespace string 命名空间

example:

//GET
http://127.0.0.1:8080/naming/v1/clusters?namespace=public

返回值类型:

返回值 类型 说明
List List 所有集群信息

example:

[
  {
    "clusterName": "cluster1",
    "clusterType": "default",
    "vGroupMapping": {
      "my_test_tx_group": null
    },
    "unitData": [
      {
        "unitName": "810fc53f-3452-4ff2-9eb5-e2f19016005e",
        "namingInstanceList": [
          {
            "ip": "172.31.31.191",
            "port": 8092,
            "nettyPort": 0,
            "grpcPort": 0,
            "weight": 1,
            "healthy": true,
            "timeStamp": 1695265270713,
            "role": null,
            "metadata": {
              "weight": 1,
              "cluster-type": "default"
            }
          }
        ]
      }
    ]
  },
  {
    "clusterName": "cluster2",
    "clusterType": "default",
    "vGroupMapping": {
      "my_test_tx_group21": null
    },
    "unitData": [
      {
        "unitName": "bd2879e9-a342-4e19-b686-3b573b68106c",
        "namingInstanceList": [
          {
            "ip": "172.31.31.191",
            "port": 8091,
            "nettyPort": 0,
            "grpcPort": 0,
            "weight": 1,
            "healthy": true,
            "timeStamp": 1695265338862,
            "role": null,
            "metadata": {
              "weight": 1,
              "cluster-type": "default"
            }
          }
        ]
      }
    ]
  }
]

8.watchList

**接口类型:**GET

**接口描述:**获取所有的集群订阅关系

参数类型:

参数 类型 说明

example:

//GET
http://127.0.0.1:8080/naming/v1/watchList

返回值类型:

返回值 类型 说明
List List 所有集群订阅信息

example:

[
  {
    "vGroup": "group1",
    "watcherIp": ["192.168.1.1", "192.168.1.2", "192.168.1.3"]
  },
  {
    "vGroup": "group2",
    "watcherIp": ["10.0.0.1", "10.0.0.2"]
  }
]

Clone this wiki locally