Namespace
简介
用于进行租户粒度的配置隔离,不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置
配置Namespace
点击nacos的命名空间——点击新建命名空间
开发环境【dev】测试环境【test】正式环境【prod】
DataID
简介
Data ID 通常用于组织划分系统的配置集,在系统中,一个配置文件通常就是一个配置集
一个系统或者应用可以包含多个配置集,每个配置集都可以被一个有意义的名称标识
命名规则
项目名【spring.application.name】-环境【dev/test/prod】.文件后缀【.yaml】
如:cloud-customerDubbo8002-dev.yaml
当环境为空时
项目名【spring.application.name】.文件后缀【.yaml】
配置DataID
点击配置管理/配置列表——选择对应的命名空间——点击+
Data ID【项目名-dev/test/prod.yaml】——配置格式【选yaml】——配置内容【把配置文件粘贴过去】
Group
简介
通过一个有意义的字符串对配置集进行分组,从而区分Data ID相同的配置集
配置Group
在添加DataID时进行分组,未填写配置分组的名称则配置分组的名称默认采用DEFAULT_GROUP
架构方案
没有硬性标准
一个项目
根据环境创建不同namespce【不考虑分组】
多个项目
根据环境创建不同namespce,根据分组来区分项目
搭建
pom.xml
<dependencies>
<!--nacos-config-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!--bootstrap-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<!--nacos-discovery-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--SpringMVC-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--Actuator-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--Lombook-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
bootstrap.yml
server:
port: 3344
spring:
application:
name: cloud-nacosConfigTest3344
cloud:
nacos:
discovery:
server-addr: 192.168.66.101:8848
config:
#服务器地址
server-addr: 192.168.66.101:8848
#对应建立的命名空间的UUID【默认为Public命名空间,可以省略不写】
namespace: 350cb2db-b5aa-4950-9cb1-36a60258d5ce
#指定文件后缀
file-extension: yaml
#文件名【如果没有配置则默认为 ${spring.appliction.name}】
prefix: ${spring.application.name}
#指定配置群组【如果是Public命名空间 则可以省略群组配置】
group: cloudAlibaba
profiles:
active: dev
启动类
@SpringBootApplication
@EnableDiscoveryClient
public class nacosConfigTest3344 {
public static void main(String[] args) {
SpringApplication.run(nacosConfigTest3344.class,args);
}
}
测试1-获取配置文件内容
配置中心放一个配置文件【里面是简单的值】,该项目通过bootstrap配置文件连接配置中心获取配置文件中的值并通过访问获取
测试接口
@RestController
@RequestMapping("/nacosConfigTest3344")
@RefreshScope//配置动态刷新
public class NacosConfigTest3344Controller {
@Value("${config.test}")//在配置中心所读取的文件
private String config;
@RequestMapping("/getValue")
public String getValue() {
return config;
}
}
访问测试接口
http://localhost:3344/nacosConfigTest3344/getValue
测试2-使用配置文件
配置中心放一个配置文件【里面是该项目的配置内容】,该项目通过bootstrap配置文件连接配置中心【不配置端口】后使用配置文件