微服务引擎的服务中心提供了服务注册的功能。服务注册是指微服务启动的时候,将 基本信息,比如所属应用、微服务名称、微服务版本、监听的地址信息等注册到服务 中心。
微服务运行的过程中,也通过服务中心查询其他微服务的基本信息。不同的微服务开 发框架注册的信息会有差异,比如Java Chassis还会注册服务契约等信息。不同微服务 开发框架注册的基本信息、注册和发现其他微服务的流程是相同的。
本章节重点介绍不同的微服务开发框架如何使用服务中心和配置自己的注册信息,同 时也会介绍微服务和注册中心之间交互有关的配置项。微服务注册成功后,可以在微 服务引擎使用微服务目录、微服务实例列表、微服务依赖关系等功能。
Java Chassis
Java Chassis使用服务注册,需要在项目中增加如下依赖:
<dependency>
<groupId>org.apache.servicecomb</groupId>
<artifactId>registry-service-center</artifactId>
</dependency>
如果项目已经直接或者间接包含这个依赖,则无需添加。Java Chassis包含如表6-1所 示配置项。这些配置项的值影响在服务中心注册的基本信息,以及微服务和服务中心 之间的交互,比如心跳等。
开发指南 6 使用微服务引擎功能
表6-1 Java Chassis 常用配置项
配置项 含义 缺省值 备注
servicecomb.service.ap
plication 所属应用 default
-servicecomb.service.na
me 微服务名称 defaultMicro
service -servicecomb.service.ve
rsion 微服务版本 1.0.0.0
-servicecomb.service.en
vironment 环境 - production
、developmen t等
servicecomb.service.re
gistry.address 注册中心地址 http://
127.0.0.1:301 00
集群地址使 用“,”分隔
servicecomb.service.re
gistry.instance.watch 是否开启watch模式 true -servicecomb.service.re 心下线。即interval * (times + 1)决定了实例被
r.availableZone 数据中心可用区 -
-Java Chassis注册的实例地址信息、监听地址,和配置项
servicecomb.service.publishAddress指定的发布地址有关。服务监听地址的配置项是 servicecomb.rest.address和servicecomb.highway.address,分别对应rest传输方式和 highway传输方式的监听地址。注册的地址信息和监听地址、发布地址的关系如表6-2 所示。
开发指南 6 使用微服务引擎功能
表6-2 注册的实例地址生效规则
监听地址 发布地址 注册的实例地址 127.0.0.1 - 127.0.0.1
0.0.0.0 - 指定选取一张网卡的IP地址作为发布地址。不会选择 通配符地址、回环地址或广播地址
具体IP地址 - 与监听地址一致
* 具体IP地址 与发布地址一致
* "{网卡名}" 指定网卡名对应的IP,注意需要加上引号和括号
Spring Cloud
Spring Cloud使用服务注册,需要在项目中增加如下依赖:
<dependency>
<groupId>com.huaweicloud</groupId>
<artifactId>spring-cloud-starter-huawei-servicecomb-discovery</artifactId>
</dependency>
如果项目已经直接或者间接包含这个依赖,则无需添加。Spring Cloud包含如表6-3所 示配置项,这些配置项的值影响在服务中心注册的基本信息,以及微服务和服务中心 之间的交互,比如心跳等。和服务注册有关的信息,需要在“bootstrap.yml”配置。
表6-3 Spring Cloud 常用配置项
配置项 含义 缺省
值
备注
spring.cloud.servicecomb.discover
y.appName 所属应用 defau
lt -spring.cloud.servicecomb.discover
y.serviceName 微服务名称 - 如果没有,使用 spring.application.n ame
spring.cloud.servicecomb.discover
y.version 微服务版本 -
-server.env 环境 - production,
development等 spring.cloud.servicecomb.discover
y.enabled 是否启用服务
注册发现 true -spring.cloud.servicecomb.discover
y.address 注册中心地址 - 集群地址使用“,”分
隔 spring.cloud.servicecomb.discover
y.watch 是否开启
watch模式 true
-开发指南 6 使用微服务引擎功能
配置项 含义 缺省 值
备注
spring.cloud.servicecomb.discover
y.healthCheckInterval 发送心跳的时
间间隔(秒) 10 -spring.cloud.servicecomb.discover
y.datacenter.name 数据中心名称 - -spring.cloud.servicecomb.discover
y.datacenter.region 数据中心区域 - -spring.cloud.servicecomb.discover
y.datacenter.availableZone 数据中心可用
区 -
-spring.cloud.servicecomb.discover
y.allowCrossApp 是否支持跨应
用调用 false 服务端配置,表示允
<groupId>com.huaweicloud.dubbo-servicecomb</groupId>
<artifactId>dubbo-servicecomb-service-center</artifactId>
</dependency>
如果项目已经直接或者间接包含这个依赖,则无需添加。Dubbo ServiceComb包含如 表6-4所示配置项,这些配置项的值影响在服务中心注册的基本信息,以及微服务和服
.application 所属应 用
default
-dubbo.servicecomb.service
.name 微服务
名称
defaultMicroser viceName -dubbo.servicecomb.service
.version 微服务
版本
1.0.0.0
-dubbo.servicecomb.service
.environment 环境 - production,
development等 dubbo.servicecomb.registr
y.address 注册中
心地址 - 集群地址使用“,”分隔
dubbo.servicecomb.ssl.ena
bled 是否启
用SSL false 如果服务中心是SSL,
需要设置为true
开发指南 6 使用微服务引擎功能