【Nacos】03-Nacos配置中心与SpringCloud
Nacos配置中心与SpringCloud
Nacos的配置中心与SpringCloud的应用
简单应用
依赖
1
2
3
4
5<!--配置中心-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>配置文件
1
2
3
4
5
6
7
8spring:
application:
name: nacos-config
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
file-extension: yml # 配置中心使用yml格式。若不添加此配置,默认使用properties- spring.application.name:应用名称,配置中心需要根据该名称生成与之相对应的dataId。
- spring.cloud.nacos.config.server-addr:配置中心的地址。
- 注意:
- springboot项目的配置文件有四个,且根据优先级排名为:bootstrap.properties、bootstrap.yml、application.properties、application.yml。
- 上面的配置文件的代码可以写在bootstrap中。
使用配置中心
查看日志
该配置中心的dataId为
nacos-config
;打开nacos配置中心,点击
+
根据所配置文件中
file-extension
的配置以及选择的配置格式
,输入Data ID为nacos-config.yml
或nacos-config.application
使用配置中心
配置文件添加
1
2
3
4user:
name: 张三
nickname: 法外狂徒
age: 22添加控制层
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20//刷新配置
public class TestController {
private String name;
private String nickname;
private Integer age;
public R user() {
Map<String, Object> map = CollUtil.newHashMap();
map.put("nickname", nickname);
map.put("name", name);
map.put("age", age);
return R.ok(map);
}
}启动项目、调用接口
localhost:8080/user
配置中心修改配置
查看控制台:
再次调接口
此时,项目中配置文件user的值更改为配置中心的值。
进阶应用
nacos 作为配置中心的更多功能:
命名空间:配置隔离
默认:public(保留空间);默认新增的所有配置都在该命名空间。
配置集:所有的配置的集合。
配置集ID:类似文件名。
配置分组:
默认所有的配置分组为
DEFAULT_GROUP
下面的内容为命名空间、配置分组的使用。
命名空间
命名空间可以实现环境隔离作用。
创建命名空间
使用自己创建的命名空间(将数据源配置卸载配置中心中)
配置中心其他信息无需更改
springboot项目指定命名空间
1
2
3
4
5
6
7
8
9spring:
application:
name: nacos-config
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
file-extension: yml
namespace: d15d4d30-aa9d-489c-a79e-8683ba08800d # 该配置指定命名空间,值为命名空间ID启动并调用接口
localhost:8080/user
,配置成功
配置分组
配置分组比较简单
配置中心中创建分组名为
lisi
的配置文件springboot项目指定分组
1
2
3
4
5
6
7
8
9
10spring:
application:
name: nacos-config
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
file-extension: yml
namespace: d15d4d30-aa9d-489c-a79e-8683ba08800d # 该配置指定命名空间,值为命名空间ID
group: lisi # 值为配置中心的分组名启动并调用接口
localhost:8080/user
,配置成功使用多个配置中心的配置文件
在实际的微服务项目开发中,很多项目有一些相同的配置,我们可以将这些配置放在同一配置文件中,多个项目共同使用。一个项目也需要引入多个配置文件。
且要注意配置的优先级!!
在配置中心中添加多个配置文件:
datasource.yml
(配置数据源),mybatis.yml
(配置mybatis),user.yml
(配置user信息)数据源:
mybatis:
user:
springboot配置文件
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
27spring:
application:
name: nacos-config
cloud:
nacos:
discovery:
server-addr: localhost:8848
config:
server-addr: 127.0.0.1:8848
file-extension: yml
namespace: d15d4d30-aa9d-489c-a79e-8683ba08800d
extension-configs:
-
dataId: mybatis.yml
namespace: d15d4d30-aa9d-489c-a79e-8683ba08800d
group: dev
refresh: true
-
dataId: datasource.yml
namespace: d15d4d30-aa9d-489c-a79e-8683ba08800d
group: dev
refresh: true
-
dataId: nacos-user.yml
namespace: d15d4d30-aa9d-489c-a79e-8683ba08800d
group: dev
refresh: true启动并调用接口
localhost:8080/user
,配置成功注意
上面添加了配置中心的三个配置文件,但是其实是四个配置文件:1. mybatis.yml; 2. datasource.yml; 3. nacos-user.yml; 4.
nocos-config.yml
。且优先级,nacos-config.yml最高!!!