【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的微服务。可以看到,配置管理列表有很多配置信息:

可以知道Nacos的配置格式为:命名空间:默认空间public + 默认分组DEFAULT_GROUP_ 新建DataId(${prefix}-${spring.profiles.active}.${file-extension} , 微服务名称-环境.数据格式)。
查看到微服务配置的表格,与Nacos的根目录{home}/conf/mysql-schema.sql一致。所以,只要配置到微服务数据库,即可使用这些配置。与nacos相关的配置会在后面继续分析。

微服务注册进Nacos
启动各个微服务后,服务管理会加入naocs的服务列表:

根据学习到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,即可成功加入和连接服务配置。
有志者,事竟成,破釜沉舟,百二秦关终属楚; 苦心人,天不负,卧薪尝胆,三千越甲可吞吴。

浙公网安备 33010602011771号