添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

微服务定义

servicecomb 微服务定义包括两个基础模型 Microservice MicroserviceInstance 。 这些信息定义了 微服务标识,从属于哪个应用,以及名字和版本。

  • 微服务信息
  • servicecomb 的微服务信息在类 Microservice 中定义。 它主要包含应用 ID (appId), 微服务名称 (serviceName), 微服务版本(version),环境(environment) 等信息。

    servicecomb 的实例信息在类 MicroserviceInstance 中定义。 它主要包含网络地址(endpoints) 信息。

    微服务的定义会用于微服务管理、微服务的发现、治理等多种场景。专题文章 微服务实例间多环境隔离 介绍 了微服务定义的一些常见应用场景。

    开发一个微服务,需要在 microservice.yaml 文件中配置微服务的基本信息。 如果使用 spring boot,也可以在 application.yml 文件中配置微服务的基本信息。 microservice.yaml 文件在项目中的存放路径为 src\main\resources\microservice.yaml 。 微服务信息和实例信息属于基础元数据信息, 只能够在配置文件指定,无法通过配置中心指定。

    表1-1 微服务信息配置项说明

    defaultMicroservice 微服务名, 应确保应用内部唯一。微服务名支持数字、大小写字母和"-"、"_"、"."三个特殊字符,但是不能以特殊字符作为首尾字符,命名规范为:^[a-zA-Z0-9]+$|^[a-zA-Z0-9][a-zA-Z0-9_-.]*[a-zA-Z0-9]$。 servicecomb.service.version 2.1.2 1.0.0.0 微服务版本号 servicecomb.service.role 2.1.2 FRONT servicecomb.service.description 2.1.2 微服务描述 servicecomb.service.environment 2.1.2 运行环境,比如 development, production 等 servicecomb.service.propertyExtendedClass 2.1.2 微服务元数据配置扩展信息, 接口返回的配置会覆盖配置文件中key相同的配置。 servicecomb.service.properties 2.1.2 服务实例元数据配置(通过microservice.yaml文件进行配置) servicecomb.service.paths 2.1.2 URL 前缀列表 APPLICATION_ID 2.1.2之前 default service_description.name 2.1.2之前 defaultMicroservice 微服务名, 应确保应用内部唯一。微服务名支持数字、大小写字母和"-"、"_"、"."三个特殊字符,但是不能以特殊字符作为首尾字符,命名规范为:^[a-zA-Z0-9]+$|^[a-zA-Z0-9][a-zA-Z0-9_-.]*[a-zA-Z0-9]$。 service_description.version 2.1.2之前 1.0.0.0 微服务版本号 service_description.role 2.1.2之前 FRONT service_description.description 2.1.2之前 微服务描述 service_description.environment 2.1.2之前 运行环境,比如 development, production 等 service_description.propertyExtendedClass 2.1.2之前 微服务元数据配置扩展信息, 接口返回的配置会覆盖配置文件中key相同的配置。 service_description.properties 2.1.2之前 服务元数据配置 service_description.paths 2.1.2之前 URL 前缀列表
  • 服务的元数据会随服务一同注册到服务中心,如需修改,则要连同服务version一起变更。若想保持服务version不变,则需要通过服务管理中心统一变更元数据。
  • 虽然微服务名、契约名中可以使用"."字符,但是不推荐在命名中使用"."。这是由于ServiceComb使用的配置文件是yaml格式的,"."符号用于分割配置项名称, 如果微服务名、契约名中也包含了"."可能会导致一些支持微服务、契约级别的配置无法正确被识别。
  • 表1-2 微服务实例信息配置项说明

    key1: value1 key2: value2 description: This is a description about the microservice # 微服务描述 instance: properties: #元数据 key3: value3 propertyExtentedClass: org.apache.servicecomb.serviceregistry.MicroServicePropertyExtendedStub