title: “服务定义” lang: cn ref: service-definition permalink: /cn/docs/users/service-definition/ excerpt: “服务定义” last_modified_at: 2017-08-15T15:01:43-04:00 redirect_from:
{% include toc %}
服务定义信息是微服务的身份标识,它定义了服务从属于哪个应用,以及名字和版本。服务定义信息中也可以有扩展信息,用于定义服务的属性元数据。
当用户定义新的微服务或修改微服务的基本信息时,会涉及到服务定义信息的创建和修改操作。
介绍涉及microservice.yaml文件的以下配置项,文件在项目中的存放路径为src/main/resources/microservice.yaml。
配置项 | 默认值 | 取值范围 | 是否必选 | 含义 | 注意 |
---|---|---|---|---|---|
APPLICATION_ID | - | - | 是 | 应用名 | - |
service_description.name | - | - | 是 | 微服务名 | 应确保app内部唯一。微服务名支持数字、大小写字母和"-“、”_“、”."三个特殊字符,但是不能以特殊字符作为首尾字符,命名规范为:^[a-zA-Z0-9]+$|^[a-zA-Z0-9][a-zA-Z0-9_-.]*[a-zA-Z0-9]$。 |
service_description.version | - | - | 是 | 微服务版本号 | - |
service_description.properties | - | - | 否 | 微服务元数据配置(通过microservice.yaml文件进行配置) | - |
service_description.propertyExtendedClass | - | - | 否 | 微服务元数据配置(通过实现接口PropertyExtended进行配置) | 接口返回的配置会覆盖配置文件中key相同的配置。 |
instance_description.properties | - | - | 否 | 服务实例元数据配置(通过microservice.yaml文件进行配置) | |
instance_description.propertyExtendedClass | - | - | 否 | 微服务元数据配置(通过实现接口PropertyExtended进行配置) | 同service_description.propertyExtendedClass |
说明:
APPLICATION_ID: helloTest #应用名 service_description: #服务描述 name: helloServer #微服务名称 version: 0.0.1 #服务版本号 properties: #元数据 allowCrossApp: false key1: value1 key2: value2 propertyExtendedClass: org.apache.servicecomb.serviceregistry.MicroServicePropertyExtendedStub instance_description: #实例描述 properties: #元数据 key3: value3 propertyExtendedClass: org.apache.servicecomb.serviceregistry.MicroServicePropertyExtendedStub