应用管理与运维平台 ServiceStage应用管理与运维平台 ServiceStage

更新时间:2021/08/11 GMT+08:00
分享

创建微服务静态信息

功能介绍

在注册微服务实例前需要创建服务静态信息,之后注册的微服务实例根据service_id这个字段与静态信息关联,一个服务对应对多个实例。service_id可以定制。如果定制了,系统将使用定制的service_id;如果没定制,系统会随机生成service_id。

接口约束

调试

您可以在API Explorer中调试该接口。

URI

POST /v4/{project_id}/registry/microservices

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户子项目的唯一标识。字符长度为1~64。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

x-domain-name

String

租户帐号名称。

X-Auth-Token

String

用户Token。

表3 请求Body参数

参数

是否必选

参数类型

描述

service

MicroService object

微服务信息。

rules

Array of Rule objects

黑白名单信息。

instances

Array of MicroServiceInstance objects

实例信息。

tags

Object

微服务扩展属性,可以自定义 KEY 和相应的 Value。长度最小1字节。

表4 MicroService

参数

是否必选

参数类型

描述

serviceId

String

微服务唯一标识。字符长度为1~64。正则表达式为^.*$

environment

String

用于区分服务阶段,取值为development|testing|acceptance|production。当配置为development、testing或acceptance时,可以通过批量上传schemas接口新增或者修改已存在的Schema;当配置为production时,则不可以新增或者修改Schema。默认值development。

appId

String

应用App唯一标识。字符长度为1~160。 正则表达式为^[a-zA-Z0-9]$|^[a-zA-Z0-9][a-zA-Z0-9_-.][a-zA-Z0-9]$

serviceName

String

微服务名称,同一个App要保证唯一。字符长度为1~128。 正则表达式为^[a-zA-Z0-9]$|^[a-zA-Z0-9][a-zA-Z0-9_-.][a-zA-Z0-9]$

version

String

微服务版本号。字符长度为1~64。 正则表达式为^[0-9]$|^[0-9]+(.[0-9]+)$

description

String

微服务描述信息。字符长度不超过256。

level

String

微服务层级。FRONT MIDDLE BACK

registerBy

String

微服务注册方式,SDK PLATFORM SIDECAR UNKNOWN

schemas

Array of strings

微服务访问的契约内容。支持数字、字母,支持使用括号内字符做连接符(_-.),长度1-160字节,数组长度最大100个契约。

status

String

微服务状态,UP表示上线,DOWN表示下线,默认值UP

枚举值:

  • UP

  • DOWN

timestamp

String

微服务注册时间。

modTimestamp

String

最后修改UTC时间。

framework

Framework object

开发框架信息。

paths

Array of ServicePath objects

服务路由信息。

表5 Framework

参数

是否必选

参数类型

描述

name

String

微服务开发框架,默认值为UNKNOWN。

version

String

微服务开发框架版本号。

表6 ServicePath

参数

是否必选

参数类型

描述

Path

String

路由地址

Property

Object

微服务扩展属性,可以自定义 KEY 和相应的 Value。长度最小1字节。

表7 Rule

参数

是否必选

参数类型

描述

ruleId

String

自定义ruleId

ruleType

String

rule类型,WHITE或者BLACK

attribute

String

如果是tag_xxx开头,则按Tag过滤attribute属性,否则,则按"serviceId", "AppId", "ServiceName", "Version", "Description", "Level", "Status"过滤

pattern

String

匹配规则,正则表达式,长度1到64

description

String

rule描述

timestamp

String

只有获取rule时返回使用,创建rule的时间

modTimestamp

String

更新时间

表8 MicroServiceInstance

参数

是否必选

参数类型

描述

instanceId

String

实例id,唯一标识。创建实例,instanceId由service-center产生

serviceId

String

微服务唯一标识,创建实例时,以url里面的为准,不用这里的serviceId。

version

String

微服务版本号

hostName

String

主机信息。

endpoints

Array of strings

访问地址信息。

status

String

实例状态,UP|DOWN|STARTING|OUTOFSERVICE,默认值UP

properties

Object

微服务扩展属性,可以自定义 KEY 和相应的 Value。长度最小1字节。

healthCheck

HealthCheck object

健康检查信息。

dataCenterInfo

DataCenterInfo object

数据中心信息。

timestamp

String

实例创建时间戳,自动生成

modTimestamp

String

更新时间

表9 HealthCheck

参数

是否必选

参数类型

描述

mode

String

心跳模式 push/pull。

port

Integer

端口。

interval

Integer

心跳间隔(秒),当值小于5秒时,按5秒注册。

times

Integer

允许失败次数,不允许小于0。

表10 DataCenterInfo

参数

是否必选

参数类型

描述

name

String

区域名字

region

String

区域

availableZone

String

可获取区

响应参数

状态码: 200

表11 响应Body参数

参数

参数类型

描述

serviceId

String

微服务唯一标识。

状态码: 400

表12 响应Body参数

参数

参数类型

描述

errorCode

String

错误代码。

errorMessage

String

错误信息。

detail

String

详细定位信息。

状态码: 500

表13 响应Body参数

参数

参数类型

描述

errorCode

String

错误代码。

errorMessage

String

错误信息。

detail

String

详细定位信息。

请求示例

POST https://{endpoint}/v4/{project_id}/registry/microservices

{
  "service" : {
    "serviceName" : "helloworld",
    "alias" : "HelloWorld",
    "appId" : "TestApp",
    "version" : "1.0.1",
    "description" : "some descrition message!",
    "level" : "FRONT",
    "schemas" : [ "com.test.HelloWorld" ],
    "status" : "UP",
    "properties" : {
      "attr1" : "a"
    },
    "paths" : [ {
      "path" : "/rest/url",
      "property" : {
        "match" : "accurate",
        "local" : "force",
        "checksession" : "true"
      }
    }, {
      "path" : "/rest/url2",
      "property" : {
        "match" : "accurate",
        "local" : "force"
      }
    } ]
  }
}

响应示例

状态码: 200

创建成功。service_id (string) -为该微服务生成的id。后续的操作都是针对该微服务ID进行操作。

{
  "serviceId" : "string"
}

状态码

状态码

描述

200

创建成功。service_id (string) -为该微服务生成的id。后续的操作都是针对该微服务ID进行操作。

400

错误的请求。

500

服务内部错误

错误码

请参见错误码

分享:

    相关文档

    相关产品