Lattice Hub 文档
HTTP OpenAPI

客户端接口

Discover、Register、Heartbeat 与客户端拉配置。

Discover、Register、Heartbeat 与客户端拉配置。

默认 Base URL:http://127.0.0.1:8090。管理面接口需 Authorization(登录返回的 token)。

客户端接口

客户端 Discover / Register / Heartbeat 与拉配置;前缀 /v1。生产更推荐 gRPC。

POST/v1/Discover

Discover

拉取实例或治理视图。

  • 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 }]
}
POST/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": "..." }
}
POST/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
}
POST/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
}
POST/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
}
GET/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" }
}
POST/v1/ConfigDiscover

ConfigDiscover

配置发现 / 订阅类请求。

  • 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
}
POST/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"
}

On this page