一、前言
在微服务项目中集成nacos时,最好要指定nacos客户端版本,否则使用默认版本可能导致一些问题
二、pom依赖
<dependencies>
<!--注册中心客户端 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>1.4.3</version>
</dependency>
</dependencies>
这里单独指定了nacos-client的版本为1.4.3,
这是因为在spring-cloud-starter-alibaba-nacos-discovery中设置了默认版本
<spring-cloud-alibaba.version>2.2.7.RELEASE</spring-cloud-alibaba.version>
项目中使用的spring cloud alibaba版本为2.2.7,打开spring-cloud-starter-alibaba-nacos-discovery的pom,如下:
pom文件中默认nacos-client版本为2.0.3,如果nacos服务的用的不是2.x版本,则启动微服务时便会报错,这是因为在Nacos2.0增加了9848,9849端口来进行GRPC通信,在1.x版本中则没有这两个端口。
官方说明如下:
三、nacos配置
为了更明了演示,我们创建两个微服务:
zhufeng-web-user
zhufeng-web-msg
zhufeng-web-user微服务,application.properties配置信息:
#微服务端口
server.port=8081
#微服务名称1
spring.application.name=zhufeng-web-user
#nacos
#单机
#spring.cloud.nacos.discovery.server-addr=10.211.55.2:8848
#集群
spring.cloud.nacos.discovery.server-addr=10.211.55.9:8848,10.211.55.10:8848,10.211.55.11:8848
zhufeng-web-msg微服务,application.properties配置信息:
#微服务端口
server.port=8082
#微服务名称
spring.application.name=zhufeng-web-msg
#nacos
#单机
#spring.cloud.nacos.discovery.server-addr=10.211.55.2:8848
#集群
spring.cloud.nacos.discovery.server-addr=10.211.55.9:8848,10.211.55.10:8848,10.211.55.11:8848
四、启动微服务
分别启动zhufeng-web-use和zhufeng-web-msg两个微服务
从控制台可以看到,对应的微服务已注册到nacos
登录nacos控制台,在「服务管理」——「服务列表」查看当前注册的微服务
zhufeng-web-user和zhfueng-web-msg都已注册成功,后续便可以进行微服务调用。