nacos服务注册
Nacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富,在国内受欢迎程度较高。
1. 服务注册到nacos
-
Nacos是SpringCloudAlibaba的组件,而SpringCloudAlibaba也遵循SpringCloud中定义的服务注册、服务发现规范。因此使用Nacos和使用Eureka对于微服务来说,并没有太大区别。
-
主要差异在于:
- 依赖不同
- 服务地址不同
1)引入依赖
- 在父工程的pom文件中的
<dependencyManagement>
中引入SpringCloudAlibaba的依赖:
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>xxx.RELEASE</version><type>pom</type><scope>import</scope>
</dependency>
- 然后在 user-service 和 order-service 中的pom文件中引入
nacos-discovery
依赖:
<!--nacos客户端依赖-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2)配置nacos地址
在 user-service 和 order-service 的application.yml
中添加 nacos 地址:
spring:cloud:nacos:server-addr: localhost:8848 # nacos 服务端地址
- 详细配置如下:
user-service
server:port: 8081
spring:datasource:url: jdbc:mysql://localhost:3306/cloud-user?useSSL=falseusername: rootpassword: 1234driver-class-name: com.mysql.jdbc.Driverapplication:name: userservice # user的服务名称cloud:nacos:server-addr: 47.107.53.146:8848 # nacos 服务地址
mybatis:type-aliases-package: cn.xdr630.user.pojoconfiguration:map-underscore-to-camel-case: true
logging:level:cn.itcast: debugpattern:dateformat: MM-dd HH:mm:ss:SSS
order-service
server:port: 8080
spring:datasource:url: jdbc:mysql://localhost:3306/cloud-order?useSSL=falseusername: rootpassword: 1234driver-class-name: com.mysql.jdbc.Driverapplication:name: orderservicecloud:nacos:server-addr: 47.107.53.146:8848 # nacos 服务地址
mybatis:type-aliases-package: cn.xdr630.user.pojoconfiguration:map-underscore-to-camel-case: true
logging:level:cn.itcast: debugpattern:dateformat: MM-dd HH:mm:ss:SSSuserservice: # 针对的是某个服务而言ribbon:NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 负载均衡规则
ribbon:eager-load:enabled: true # 开启饥饿加载clients: userservice # 指定对userservice这个服务饥饿加载
3)启动
- 启动微服务后,登录nacos管理页面,可以看到微服务信息: