Nacos配置中心并支持多配置文件


Nacos配置中心并支持多配置文件

一、引入依赖包


1
2
3
4
5
6
7
8
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

discovery和config分别为注册中心客户端和配置中心客户端

注意:

  1. config,引入这个配置中心的依赖后,需要使用bootstrap.yml作为中转配置文件,读取的优先级为bootstrap.yml>application.yml
  2. 配置中心地址结尾不能带斜杠 否者会报异常

二、单文件配置


1
2
3
4
5
6
7
8
9
10
11
spring:
application:
name: onedata
cloud:
nacos:
discovery:
server-addr: http://172.20.23.140:80
config:
server-addr: http://172.20.23.140:80
group: DEFAULT_GROUP
file-extension: yml

三、多文件配置


1、创建bootstrap.yml,配置激活环境标识

1
2
3
spring:
profiles:
active: dev

2、创建bootstrap-dev.yml文件,配置连接nacos服务中心,加载多个配置文件

写法一:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
spring:
application:
name: mybatis-plus-join-practice
#配置nacos注册中心和配置中心
cloud:
nacos:
discovery:
server-addr: http://xxx:8848
username: nacos
password: nacos
namespace: dev
group: MYBATIS-PLUS-JOIN-PRACTICE
config:
server-addr: ${spring.cloud.nacos.discovery.server-addr}
username: ${spring.cloud.nacos.discovery.username}
password: ${spring.cloud.nacos.discovery.password}
namespace: ${spring.cloud.nacos.discovery.namespace}
file-extension: yml # yaml格式
extension-configs:
- data-id: application.yml
group: ${spring.cloud.nacos.discovery.group}
refresh: true

- data-id: datasource.yml
group: ${spring.cloud.nacos.discovery.group}
refresh: true

写法二:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
spring:
application:
name: mybatis-plus-join-practice
#配置nacos注册中心和配置中心
cloud:
nacos:
discovery:
server-addr: http://xxx:8848
username: nacos
password: nacos
namespace: dev
group: MYBATIS-PLUS-JOIN-PRACTICE
config:
server-addr: ${spring.cloud.nacos.discovery.server-addr}
username: ${spring.cloud.nacos.discovery.username}
password: ${spring.cloud.nacos.discovery.password}
namespace: ${spring.cloud.nacos.discovery.namespace}
extension-configs[0]:
data-id: application.yml
group: ${spring.cloud.nacos.discovery.group}
refresh: true
file-extension: yml

extension-configs[1]:
data-id: datasource.yml
group: ${spring.cloud.nacos.discovery.group}
refresh: true
file-extension: yml

写法三:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
spring:
application:
name: mybatis-plus-join-practice
#配置nacos注册中心和配置中心
cloud:
nacos:
discovery:
server-addr: http://xxx:8848
username: nacos
password: nacos
namespace: dev
group: MYBATIS-PLUS-JOIN-PRACTICE
config:
server-addr: ${spring.cloud.nacos.discovery.server-addr}
username: ${spring.cloud.nacos.discovery.username}
password: ${spring.cloud.nacos.discovery.password}
namespace: ${spring.cloud.nacos.discovery.namespace}
shared-configs[0]:
data-id: application.yml
group: ${spring.cloud.nacos.discovery.group}
refresh: true
file-extension: yml

shared-configs[1]:
data-id: datasource.yml
group: ${spring.cloud.nacos.discovery.group}
refresh: true
file-extension: yml

说明: 1、以上三种写法都支持加载多个配置文件 1、内容中 extension-configs[0]、shared-configs[0] 加载的是 application.yml 配置文件 2、内容中 extension-configs[1]、shared-configs[1] 加载的是 datasource.yml 配置文件 3、配置文件在激活标识的 dev 环境的 MYBATIS-PLUS-PRACTICE 分组下

1、在实际应用中,可以使用多文件配置,把spring配置和数据源配置分开

2、可以使用命名空间区分不同的环境,例如:dev,sit,uat等环境

3、权限控制开启方式,在conf/applicaiton.properties文件中修改属性值即可,如下

nacos.core.auth.enabled=true

4、如果服务端开启了权限控制,注册中心和配置中心需要明确指定访问用户名和密码,命名空间才可以正常访问


文章作者: Damonny
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Damonny !
 上一篇
思源笔记 Docker-Compose 一键部署及解锁付费功能教程 思源笔记 Docker-Compose 一键部署及解锁付费功能教程
这篇文章介绍了如何使用Docker Compose一键部署思源笔记的两个版本:官方开源版本和解锁付费功能的版本。官方版本使用`b3log/siyuan`镜像,配置了工作区路径和访问授权码,并设置了时区和端口映射。解锁版本使用`apkdv/s
下一篇 
详解计算机状态:从待机到休眠的五种模式 详解计算机状态:从待机到休眠的五种模式
这篇文章详细介绍了计算机的五种状态:S1待机、S2电源待机、S3挂起到内存、S4挂起到硬盘和S5关机。S1和S2状态类似,都是低电源供应状态,但S2更为彻底。S3状态将内存数据保持不变,其他设备停止供电,恢复时快速回到原状态。S4状态将内存
2024-12-19
  目录