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配置文件连接配置中心【不配置端口】后使用配置文件