【Java】若依(ruoyi-cloud)——13.Nacos,使用服务注册和服务配置

若依(Ruoyi)框架中如何使用Nacos?

接下来,我们可以查看若依框架微服务版如何使用Nacos?

前提

  • JDK >= 1.8 (推荐1.8版本)
  • Mysql >= 5.7.0 (推荐5.7版本)\Redis >= 3.0
  • Maven >= 3.0
  • Node >= 12
  • nacos >= 2.0.4 (ruoyi-cloud < 3.0 需要下载nacos >= 1.4.x版本)
  • 已下载若依微服务版,并解压运行:https://gitee.com/y_project/RuoYi-Cloud
  • naocs已连接微服务配置数据库:ry-config。

开始

Nacos配置

启动Nacos,再启动ruoyi的微服务。可以看到,配置管理列表有很多配置信息:
image

可以知道Nacos的配置格式为:命名空间:默认空间public + 默认分组DEFAULT_GROUP_ 新建DataId(${prefix}-${spring.profiles.active}.${file-extension} , 微服务名称-环境.数据格式)。

查看到微服务配置的表格,与Nacos的根目录{home}/conf/mysql-schema.sql一致。所以,只要配置到微服务数据库,即可使用这些配置。与nacos相关的配置会在后面继续分析。

image

微服务注册进Nacos

启动各个微服务后,服务管理会加入naocs的服务列表:
image

根据学习到nacos服务配置中心。各个微服务需要加入nacos,需要配置为服务配置naocs地址。配置后,运行服务则可以加入naocs服务列表。

server:
  port: 9001
spring:
  application:
    name: nacos-payment-provider
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 # 配置Nacos地址

可以看到,各个微服务的bootstrap关于nacos的配置。

# ruoyi-gateway(网关)
# Tomcat
server:
  port: 8080

# Spring
spring: 
  application:
    # 应用名称
    name: ruoyi-gateway
  profiles:
    # 环境配置
    active: dev
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 127.0.0.1:8848
      config:
        # 配置中心地址
        server-addr: 127.0.0.1:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
     sentinel:
      # 取消控制台懒加载
      eager: true
      transport:
        # 控制台地址
        dashboard: 127.0.0.1:8718
      # nacos配置持久化
      datasource:
        ds1:
          nacos:
            server-addr: 127.0.0.1:8848
            dataId: sentinel-ruoyi-gateway
            groupId: DEFAULT_GROUP
            data-type: json
            rule-type: gw-flow

# ruoyi-auth 认证授权中心
# Tomcat
server: 
  port: 9200

# Spring
spring: 
  application:
    # 应用名称
    name: ruoyi-auth
  profiles:
    # 环境配置
    active: dev
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 127.0.0.1:8848
      config:
        # 配置中心地址
        server-addr: 127.0.0.1:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
		  
# ruoyi-system 系统模块
# Tomcat
server:
  port: 9201

# Spring
spring: 
  application:
    # 应用名称
    name: ruoyi-system
  profiles:
    # 环境配置
    active: dev
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 127.0.0.1:8848
      config:
        # 配置中心地址
        server-addr: 127.0.0.1:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
		  

# ruoyi-job 定时任务模块
# Tomcat
server:
  port: 9203

# Spring
spring: 
  application:
    # 应用名称
    name: ruoyi-job
  profiles:
    # 环境配置
    active: dev
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 127.0.0.1:8848
      config:
        # 配置中心地址
        server-addr: 127.0.0.1:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
		  
# ruoyi-monitor 监控中心启动成功
# Tomcat
server:
  port: 9100

# Spring
spring: 
  application:
    # 应用名称
    name: ruoyi-monitor
  profiles:
    # 环境配置
    active: dev
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 127.0.0.1:8848
      config:
        # 配置中心地址
        server-addr: 127.0.0.1:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

# ruoyi-gen	代码模块生成启动	  
# Tomcat
server:
  port: 9202

# Spring
spring: 
  application:
    # 应用名称
    name: ruoyi-gen
  profiles:
    # 环境配置
    active: dev
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 127.0.0.1:8848
      config:
        # 配置中心地址
        server-addr: 127.0.0.1:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

# ruoyi-file 文件模块服务		  
# Tomcat
server:
  port: 9300

# Spring
spring: 
  application:
    # 应用名称
    name: ruoyi-file
  profiles:
    # 环境配置
    active: dev
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: 127.0.0.1:8848
      config:
        # 配置中心地址
        server-addr: 127.0.0.1:8848
        # 配置文件格式
        file-extension: yml
        # 共享配置
        shared-configs:
          - application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

这里所有的环境都是dev。各个模块对应的配置文件如下:

模块名称 nacos配置文件名称
通用配置(每个模块的bootstrap文件的:spring.cloud.nacos.discovery.shared-configs属性,注册了共享配置) application-dev.yml
网关模块(ruoyi-gateway) ruoyi-gateway-dev.yml
认证中心(ruoyi-auth) ruoyi-auth-dev.yml
监控中心(ruoyi-monitor) ruoyi-monitor-dev.yml
系统模块(ruoyi-system) ruoyi-system-dev.yml
代码生成(ruoyi-gen) ruoyi-gen-dev.yml
定时任务(ruoyi-job) ruoyi-job-dev.yml
文件服务(ruoyi-file) ruoyi-file-dev.yml
网关模块(ruoyi-gateway , 网关模块spirng.cloud.sentinel.datasource.ds1.nacos.dataId,注册了该配置文件) sentinel-ruoyi-gateway

此时,只要启动nacos,即可成功加入和连接服务配置。

posted @ 2025-01-08 08:36  陆陆无为而治者  阅读(2263)  评论(0)    收藏  举报