客户端接口
Discover、Register、Heartbeat 与客户端拉配置。
Discover、Register、Heartbeat 与客户端拉配置。
默认 Base URL:http://127.0.0.1:8090。管理面接口需 Authorization(登录返回的 token)。
客户端接口
客户端 Discover / Register / Heartbeat 与拉配置;前缀 /v1。生产更推荐 gRPC。
/v1/DiscoverDiscover
拉取实例或治理视图。
参数
- typebody · string必填
发现类型:INSTANCE / ROUTING / RATE_LIMIT / CIRCUIT_BREAKER / SERVICES / FAULT_DETECTOR / SERVICE_CONTRACTS / NAMESPACES 等。
- service.namebody · string必填
服务名(多数类型需要)。
- service.namespacebody · string必填
命名空间。
curl -sS -X POST 'http://127.0.0.1:8090/v1/Discover' \
-H 'Content-Type: application/json' \
-d '{"type":"INSTANCE","service":{"name":"payment","namespace":"default"}}'{
"code": 200000,
"info": "execute success",
"instances": [{ "host": "10.0.0.8", "port": 8080, "healthy": true }]
}/v1/RegisterInstance注册实例
客户端注册;body 为单个 Instance(非数组)。
参数
- servicebody · string必填
服务名。
- namespacebody · string必填
命名空间。
- hostbody · string必填
主机。
- portbody · uint32必填
端口。
- protocolbody · string可选
协议。
- versionbody · string可选
版本。
- prioritybody · uint32可选
优先级。
- weightbody · uint32可选
权重,常见默认 100。
- healthybody · bool可选
健康状态。
- isolatebody · bool可选
是否隔离。
- enable_health_checkbody · bool可选
是否开启健康检查。
- health_checkbody · HealthCheck可选
健康检查配置(heartbeat/tcp/http)。
- locationbody · Location可选
地域信息。
- metadatabody · map<string,string>可选
元数据 / 标签。
- idbody · string可选
实例 ID(更新/删除时常用)。
curl -sS -X POST 'http://127.0.0.1:8090/v1/RegisterInstance' \
-H 'Content-Type: application/json' \
-d '{"service":"payment","namespace":"default","host":"10.0.0.8","port":8080,"weight":100}'{
"code": 200000,
"info": "execute success",
"instance": { "id": "..." }
}/v1/DeregisterInstance反注册实例
客户端反注册。
参数
- idbody · string可选
实例 ID。
- servicebody · string必填
服务名。
- namespacebody · string必填
命名空间。
- hostbody · string必填
主机。
- portbody · uint32必填
端口。
curl -sS -X POST 'http://127.0.0.1:8090/v1/DeregisterInstance' \
-H 'Content-Type: application/json' \
-d '{"service":"payment","namespace":"default","host":"10.0.0.8","port":8080}'{
"code": 200000,
"info": "execute success",
"amount": 1
}/v1/Heartbeat心跳
实例心跳。
参数
- idbody · string可选
实例 ID。
- servicebody · string必填
服务名。
- namespacebody · string必填
命名空间。
- hostbody · string必填
主机。
- portbody · uint32必填
端口。
curl -sS -X POST 'http://127.0.0.1:8090/v1/Heartbeat' \
-H 'Content-Type: application/json' \
-d '{"service":"payment","namespace":"default","host":"10.0.0.8","port":8080}'{
"code": 200000,
"info": "execute success",
"amount": 1
}/v1/ReportClient上报客户端
客户端信息上报。
参数
- hostbody · string可选
主机。
- versionbody · string可选
客户端版本。
- typebody · string可选
客户端类型。
- locationbody · object可选
地域。
curl -sS -X POST 'http://127.0.0.1:8090/v1/ReportClient' \
-H 'Content-Type: application/json' \
-d '{"host":"10.0.0.3","version":"1.2.0"}'{
"code": 200000,
"info": "execute success",
"amount": 1
}/v1/GetConfigFile客户端拉配置
tags 为 key=value,可重复;未命中灰度回落全量。Enrich 中的 version 参数 handler 未使用。
参数
- namespacequery · string必填
命名空间。
- groupquery · string必填
分组。
- fileNamequery · string必填
文件名。
- tagsquery · string可选
客户端标签,如 env=gray-a;可重复。
curl -sS 'http://127.0.0.1:8090/v1/GetConfigFile?namespace=default&group=docs-multi-gray&fileName=app.yaml&tags=env%3Dgray-a'{
"code": 200000,
"info": "execute success",
"file": { "name": "app.yaml", "release_type": "gray", "content": "mode: gray-a\n" }
}/v1/ConfigDiscoverConfigDiscover
配置发现 / 订阅类请求。
参数
- typebody · string必填
发现类型。
- filebody · object可选
配置文件定位信息。
- revisionbody · string可选
修订版本。
- filterbody · object可选
过滤条件。
curl -sS -X POST 'http://127.0.0.1:8090/v1/ConfigDiscover' \
-H 'Content-Type: application/json' \
-d '{"type":"CONFIG_FILE","file":{"namespace":"default","group":"docs-multi-gray","name":"app.yaml"}}'{
"code": 200000,
"info": "execute success",
"amount": 1
}/v1/GetConfigFileMetadataList拉取配置元数据列表
拉取配置元数据列表。
参数
- namespacebody · string可选
命名空间。
- groupbody · string可选
分组。
响应字段
- codebody · uint32必填
业务码。
- infobody · string可选
提示信息。
- ConfigClientRequestbody · ConfigClientRequest可选
实体字段。
- namespacebody · string可选
命名空间。
- groupbody · string可选
分组。
- revisionbody · string可选
修订版本。
curl -sS -X POST 'http://127.0.0.1:8090/v1/GetConfigFileMetadataList' \
-H 'Content-Type: application/json' \
-d '[]'{
"code": 200000,
"info": "execute success"
}