nacos服务注册

发布于:2025-05-30 ⋅ 阅读:(22) ⋅ 点赞:(0)

Nacos是阿里巴巴的产品,现在是SpringCloud中的一个组件。相比Eureka功能更加丰富,在国内受欢迎程度较高。

1. 服务注册到nacos

  • Nacos是SpringCloudAlibaba的组件,而SpringCloudAlibaba也遵循SpringCloud中定义的服务注册、服务发现规范。因此使用Nacos和使用Eureka对于微服务来说,并没有太大区别。

  • 主要差异在于:

  1. 依赖不同
  2. 服务地址不同

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=false
    username: root
    password: 1234
    driver-class-name: com.mysql.jdbc.Driver
  application:
    name: userservice # user的服务名称
  cloud:
    nacos:
      server-addr: 47.107.53.146:8848 # nacos 服务地址
mybatis:
  type-aliases-package: cn.xdr630.user.pojo
  configuration:
    map-underscore-to-camel-case: true
logging:
  level:
    cn.itcast: debug
  pattern:
    dateformat: MM-dd HH:mm:ss:SSS

order-service

server:
  port: 8080
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/cloud-order?useSSL=false
    username: root
    password: 1234
    driver-class-name: com.mysql.jdbc.Driver
  application:
    name: orderservice
  cloud:
    nacos:
      server-addr: 47.107.53.146:8848 # nacos 服务地址
mybatis:
  type-aliases-package: cn.xdr630.user.pojo
  configuration:
    map-underscore-to-camel-case: true
logging:
  level:
    cn.itcast: debug
  pattern:
    dateformat: MM-dd HH:mm:ss:SSS
    
userservice:   # 针对的是某个服务而言
  ribbon:
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 负载均衡规则
ribbon:
  eager-load:
    enabled: true # 开启饥饿加载
  clients: userservice # 指定对userservice这个服务饥饿加载

3)启动

  • 启动微服务后,登录nacos管理页面,可以看到微服务信息:
    在这里插入图片描述

网站公告

今日签到

点亮在社区的每一天
去签到