云服务器内容精选

  • 响应参数 状态码: 200 表7 响应Body参数 参数 参数类型 描述 instanceId String 实例ID。 状态码: 400 表8 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。 状态码: 500 表9 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。
  • 请求示例 注册一个微服务实例,其主机信息为localhost,健康检查的心跳模式为push,心跳间隔为30s,所在region为r1,名字为dc,可用区为az1。 POST https://{endpoint}/v4/{project_id}/registry/microservices/{service_id}/instances { "instance" : { "endpoints" : [ "grpc://127.0.1.312:9980", "rest://127.0.0.111:8081" ], "hostName" : "localhost", "status" : "UP", "properties" : { "_TAGS" : "A, B", "attr1" : "a", "nodeIP" : "127.0.0.1" }, "dataCenterInfo" : { "name" : "dc", "region" : "r1", "availableZone" : "az1" }, "healthCheck" : { "mode" : "push", "interval" : 30, "times" : 3 } } }
  • 请求参数 表2 请求Header参数 参数 是必选 参数类型 描述 Authorization 否 String 若微服务引擎专享版开启了安全认证,此参数必填。否则,无此参数。 开启了安全认证的微服务引擎专享版Token,格式为: Authorization:Bearer {Token} Token获取方法,请参考获取微服务引擎专享版用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 instance 是 MicroServiceInstance object 微服务实例信息。 表4 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 更新时间。 表5 HealthCheck 参数 是否必选 参数类型 描述 mode 是 String 心跳模式push/pull。 port 否 Integer 端口。 interval 是 Integer 心跳间隔(秒),当值小于5秒时,按5秒注册。 times 是 Integer 最大尝试请求次数。 表6 DataCenterInfo 参数 是否必选 参数类型 描述 name 是 String 区 域名 字。 region 是 String 区域。 availableZone 是 String 可用区。
  • URI POST /v4/{project_id}/registry/microservices/{service_id}/instances 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 微服务引擎专业版,请填租户项目id,长度为1~64,获取方法请参考获取项目ID。也可以填固定值default。 微服务引擎专享版,请填固定值:default。 service_id 是 String 微服务唯一标识。字符长度为1~64,正则表达式为^.*$。获取方法请参考查询所有微服务信息。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 service MicroService object 微服务信息。 表4 MicroService 参数 参数类型 描述 serviceId String 微服务唯一标识。字符长度为1~64。正则表达式为^.*$。 environment String 用于区分微服务环境,取值为development、testing、acceptance、production。 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字节。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。 状态码: 500 表8 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。
  • 响应示例 状态码: 200 查询成功。 { "service": { "serviceId": "819706e21b7173306797d19922ce4231441c17c5", "appId": "default", "serviceName": "SERVICECENTER", "version": "2.4.8", "level": "BACK", "schemas": [ "servicecenter.grpc.api.ServiceCtrl", "servicecenter.grpc.api.ServiceInstanceCtrl" ], "status": "UP", "timestamp": "1616426688", "modTimestamp": "1616426688", "environment": "development" } }
  • URI GET /v4/{project_id}/registry/microservices/{service_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 微服务引擎专业版,请填租户项目id,长度为1~64,获取方法请参考获取项目ID。也可以填固定值default。 微服务引擎专享版,请填固定值:default。 service_id 是 String 微服务唯一标识。字符长度为1~64,正则表达式为^.*$,获取方法请参考查询所有微服务信息。
  • 运行时引擎微服务平台功能介绍 微服务平台(NUWA Runtime)托管了一个微服务运行的所有基础设施,微服务对基础设施的所有要求都通过基础设施即代码(Infrastructure as Code,简称IaC)来描述。NUWA Runtime根据IaC描述,对接相关的配置服务器,通过弹性伸缩管理平台接口,完成部署。应用托管到NUWA Runtime以后,Runtime提供IaC和管理台两种方式对集群进行变更。业务通过发布IaC版本,在运维中心执行IaC,即可对微服务集群进行变更。Runtime支持通过IaC指定集群配置、Sidecar版本、资源分配等;通过管理台可以对微服务本身及其相关的资源进行管理,如微服务生命周期管理、事件查看、更新配置、回滚、扩缩容等。 父主题: 通过微服务平台管理微服务及相关资源
  • 更多操作 表2 相关操作 操作 说明 修改环境信息 单击环境信息管理3.0列表操作列的“修改”,在弹出的窗口中重新选择环境,单击“确定”,修改环境信息。 删除环境信息 单击环境信息管理3.0列表操作列的“删除”,在弹出的提示框中单击“确定”,删除环境信息。 同步 单击环境信息管理3.0列表操作列的“同步”,在弹出的提示框中单击“确定”,将部署服务下服务环境管理中的环境信息同步至微服务平台。 撤销同步 单击环境信息管理3.0列表操作列的“撤销同步”,在弹出的提示框中单击“确定”,撤销同步的环境信息。
  • 更多操作 表1 相关操作 操作 说明 配置微服务治理项 在微服务列表中,单击操作列的“治理”,可以配置微服务治理,具体介绍请参见配置微服务治理。 删除微服务 在微服务列表中,单击微服务操作列的“删除”,可以删除微服务。 也支持批量删除多条微服务,具体介绍请参见在CloudMap中删除微服务。 查看微服务详情 在微服务列表中,单击微服务名,可以查看微服务的版本列表、微服务实例列表、接口契约、依赖关系、SLB后端集群等信息。
  • 部署Dubbo应用 打包Sermant-examples。 在“Sermant-examples”根目录下,打开cmd命令,执行mvn clean package命令,对项目进行打包编译。编译成功后,获取下表中的两个软件包。 表1 软件包列表 软件包所在目录 软件包名称 说明 Sermant-examples/registry-demo/dubbo-registry-demo/dubbo-registry-consumer/target dubbo-registry-consumer.jar 服务消费者 Sermant-examples/registry-demo/dubbo-registry-demo/dubbo-registry-provider/target dubbo-registry-provider.jar 服务生产者 把dubbo-registry-consumer.jar复制到“Sermant-examples/registry-demo/dubbo-registry-demo/deployment/images/consumer”中。 把dubbo-registry-provider.jar复制到“Sermant-examples/registry-demo/dubbo-registry-demo/deployment/images/provider”中。 制作镜像。 登录已安装kubectl命令且已部署Sermant Injector的CCE集群中的节点。 把“Sermant-examples/registry-demo/dubbo-registry-demo”中的deployment文件夹上传至已登录的CCE集群中的节点上。 请参考使用容器引擎客户端上传镜像制作docker镜像,其中,使用到的Dockerfile请参考“Sermant-examples/registry-demo/dubbo-registry-demo/deployment/images/consumer”与“Sermant-examples/registry-demo/dubbo-registry-demo/deployment/images/provider”中的Dockerfile文件按需修改。 部署dubbo-registry-consumer.yaml与dubbo-registry-provider.yaml。 修改镜像名。 将已上传deployment文件夹到CCE集群中的节点中的“deployment/k8s/dubbo-registry-consumer.yaml”与“deployment/k8s/dubbo-registry-provider.yaml”中的镜像名修改为您所制作的镜像名。 在已上传deployment文件夹到CCE集群中的节点中的“deployment/k8s”目录下,执行如下命令部署dubbo-registry-consumer.yaml与dubbo-registry-provider.yaml: kubectl create -f dubbo-registry-consumer.yaml kubectl create -f dubbo-registry-provider.yaml 若需配置APP名称(默认default)、版本(如a.b.c的格式,其中a、b、c均为数字,默认为1.0.0)请在yaml中增加SERVICE_META_APPLICATION与SERVICE_META_VERSION环境变量进行配置。如下所示: 验证应用接入ServiceComb引擎。 参考查看微服务列表查看应用(服务名为dubbo-registry-consumer与dubbo-registry-provider)是否已接入ServiceComb引擎。
  • 前提条件 已创建CCE集群,创建CCE集群请参考创建CCE集群。 CCE集群版本需要大于等于1.15。 已安装kubectl命令,安装kubectl命令请参考通过kubectl连接集群中相关操作。 已创建ServiceComb引擎实例,详情请参考创建ServiceComb引擎。 CCE集群与ServiceComb引擎处于相同的VPC网络下。 下载Sermant-examples到本地并解压。 本地编译构建打包机器环境已安装了Java JDK、Maven,并且能够访问Maven中央库。 已在CCE集群上部署Sermant Injector且已完成接入ServiceComb引擎的应用部署文件的修改,详情请参考通过模板管理页面部署Sermant Injector将应用接入ServiceComb引擎或者通过Helm客户端部署Sermant Injector将应用接入ServiceComb引擎。
  • 更多操作 表1 相关操作 操作 说明 配置微服务治理项 在微服务列表中,单击操作列的“治理”,可以配置微服务治理,具体介绍请参见配置微服务治理。 删除微服务 在微服务列表中,单击微服务操作列的“删除”,可以删除微服务。 也支持批量删除多条微服务,具体介绍请参见删除微服务。 查看微服务详情 在微服务列表中,单击微服务名,可以查看微服务的版本列表、微服务实例列表、接口契约、依赖关系、SLB后端集群等信息。
  • 运行时引擎微服务平台概述 微服务平台(NUWA Runtime)托管了一个微服务运行的所有基础设施,微服务对基础设施的所有要求都通过基础设施即代码(Infrastructure as Code,简称IaC)来描述。NUWA Runtime根据IaC描述,对接相关的配置服务器,通过弹性伸缩管理平台接口,完成部署。应用托管到NUWA Runtime以后,Runtime提供IaC和管理台两种方式对集群进行变更。业务通过发布IaC版本,在运维中心执行IaC,即可对微服务集群进行变更。Runtime支持通过IaC指定集群配置、Sidecar版本、资源分配等;通过管理台可以对微服务本身及其相关的资源进行管理,如微服务生命周期管理、事件查看、更新配置、回滚、扩缩容等。 NUWA Runtime运行环境支持以下两种场景下微服务托管到容器: 使用NUWA框架开发的微服务,可以最大限度复用NUWA的能力(运行环境、Cloud Map、服务诊断台),实现容器托管、服务注册发现、基于服务诊断台定界定位。 使用非NUWA框架开发的微服务,可以复用NUWA运行环境Sidecar(边车容器,与主应用容器在同一个Pod中运行的辅助容器。 这些容器通过提供额外的服务或功能,如日志记录、监控、安全性或数据同步,来增强或扩展主应用容器的功能, 而无需直接修改主应用代码。)的能力,实现容器托管。 父主题: 微服务平台
  • 入门实践 本文介绍 CS E常见的使用实践,帮助您更好的使用CSE。 实践 描述 托管Spring Cloud应用 Spring Boot、Spring Cloud广泛应用于构建微服务应用。使用ServiceComb引擎托管Spring Cloud应用,主要目的是使用高可靠的商业中间件替换开源组件,对应用系统进行更好地管理和运维,改造过程应尽可能降低对业务逻辑的影响。 托管Java Chassis应用 Java Chassis是Apache基金会管理的开源微服务开发框架,最早由CSE捐献,目前有上百个开发者为项目做出贡献。 它提供了如下独特的功能: 灵活高性能的RPC实现。Java Chassis基于Open API,给出了不同RPC开发方式的统一描述,让微服务接口管理更加规范,同时保留了灵活的开发者使用习惯。Java Chassis基于Reactive,实现了高效的REST、Highway等通信协议,同时保留了传统Servlet等通信协议的兼容。 丰富的服务治理能力和统一的治理职责链。负载均衡、流量控制、故障隔离等常见的微服务治理能力都可以开箱即用,同时提供了统一的治理职责链,让新的治理功能的开发变得简单。 Spring Cloud应用实现优雅上下线功能 在应用使用过程中,应用的发布、重启、扩缩容操作无法避免,为了保证应用正确上下线、流量不丢失,微服务引擎基于Sermant Agent提供了一套优雅上下线的方案,包括预热、延迟下线等,避免了请求超时、连接拒绝、流量丢失等问题的发生。 Spring Cloud应用实现标签路由功能 在微服务存在多个版本、多个实例的情况下,需要管理服务之间的路由,达到无损升级、应用拨测等业务目的。Sermant Agent提供了标签路由的能力,标签路由通过匹配http请求头中的信息,把符合规则的流量转发到对应的标签应用中,从而实现标签路由的功能。 Spring Cloud应用实现全链路灰度 在微服务架构下,有些开发需求会使微服务调用链路上的多个微服务同时发生了改动,通常每个微服务都会有灰度环境或分组来接收灰度流量。此时希望通过进入上游灰度环境的流量,也能进入下游灰度的环境中,确保一个请求始终在灰度环境中传递,即使这个调用链路上有一些微服务没有灰度环境,这些应用请求在下游的时候依然能够回到灰度环境中。通过Sermant Agent提供的全链路灰度能力,可以在不需要修改任何您的业务代码的情况下,能够轻松实现上述能力。