1. java项目配置
1.1. 基本配置
- 引入依赖
<!--nacos配置管理依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- 在resources目录下新建一个文件
bootstrap.yml
spring:
application:
name: userservice # 服务名称
profiles:
active: dev #环境名,这里是dev
cloud:
nacos:
config:
server-addr: localhost:8848 # Nacos地址
file-extension: yaml # 配置文件后缀名
- 热部署注意事项
在java文件获取配置文件的时候,大概有三种方式,分别是使用
i. @Value("\${配置名}")
ii. @ConfigurationProperties
iii. 自动注入Environment对象,调用getProperty("配置名")方法
其中,配置热更新以后,只有@Value不会收到热更新,需要在@Value所在类上添加@RefreshScope
注解
1.2. 跨服务配置共享
当我们 多个服务 需要共享同一个配置文件的时候,在配置文件中 添加 如下内容
spring:
cloud:
nacos:
config:
extension-configs:
- data-id: ext.yml # 跨服务配置文件名,可以使用其他后缀
refresh: true # 是否启动热部署
#或
shared-configs:
- data-id: share.yml
refresh: true
extension-configs
和 shared-configs
都是用于配置跨服务共享,而且两者的值都是集合,可以配置多个跨服务配置文件。
两者的作用是一样的,不过extension-configs的优先级大于shared-configs
1.3. 配置优先级
远程配置 > 本地配置
在远程配置中,同服务配置 > 跨服务配置
在同服务配置中,带环境配置 > 服务共享配置。
在跨服务配置中,extension > shared
2. Nacos配置
2.1. 基本配置
- 安装,登录和启动Nacos
- 在
配置管理->配置列表
中新增配置。
配置中,注意ID应该由几部分组成:服务名-环境名.文件后缀名(如:userservice-dev.yml)
如果文件后缀名是yml,也可以省略
2.2. 同服务配置共享
当我们同一个服务配置多个环境的时候,就会存在多个配置文件。这些配置文件中包含大量重复的配置,而且经常需要一起修改。
这时候,我们就可以设置一个同服务共享的配置文件。
同服务的配置文件,ID格式为 服务名.文件后缀名(如:userservice-dev.yml)
Comments NOTHING