Nacos配置中心命名空间与组的用法解读
拆分配置文件
我们可以将我们的配置文件进行拆分放到nacos配置中心中
现在的配置文件大致如下:
spring:
datasource:
username: root
password: root
url: jdbc:mysql://xxx.xx.xxx.x:3306/gulimall_sms?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false
driver-class-name: com.mysql.cj.jdbc.Driver
application:
name: gulimall-coupon
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
config:
server-addr: 127.0.0.1:8848
mybatis-plus:
mapper-locations: classpath*:/mapper/**/*.xml
global-config:
db-config:
id-type: auto
server:
port: 7000
仔细观察其实分为几类:Spring的配置、数据源的配置、mybatis的配置
在nacos配置中心新建命名空间和组
1.思路为:每个微服务有自己的命名空间

2.然后回到配置列表,新增配置
数据源配置

data id为要拆分的配置名,可随意(因为我这里是数据源相关的配置,故取名为datasource.yml)
统一用dev这个组
配置内容为我们抽取出来的关于数据源相关的配置
mybatis配置

spring的配置

在bootstrap.properties中配置
spring.application.name=gulimall-coupon spring.cloud.nacos.config.server-addr=127.0.0.1:8848 spring.cloud.nacos.config.namespace=47bea605-611d-489e-836d-db7ad35dcf46 spring.cloud.nacos.config.group=dev spring.cloud.nacos.config.extension-configs[0].data-id=datasource.yml spring.cloud.nacos.config.extension-configs[0].group=dev spring.cloud.nacos.config.extension-configs[0].refresh=true spring.cloud.nacos.config.extension-configs[1].data-id=mybatis.yml spring.cloud.nacos.config.extension-configs[1].group=dev spring.cloud.nacos.config.extension-configs[1].refresh=true spring.cloud.nacos.config.extension-configs[2].data-id=other.yml spring.cloud.nacos.config.extension-configs[2].group=dev spring.cloud.nacos.config.extension-configs[2].refresh=true
1.其中spring.cloud.nacos.config.namespace为我们的命名空间ID

2.spring.cloud.nacos.config.group=dev,为选择的命名空间下的组

3.spring.cloud.nacos.config.extension-configs可接收一个数组,所有我们可以以数组的方式从nacos中引入多个配置
public void setExtensionConfigs(List<NacosConfigProperties.Config> extensionConfigs) {
this.extensionConfigs = extensionConfigs;
}| 配置 | 解析 |
| spring.cloud.nacos.config.extension-configs[0].data-id | 为我们之前在nacos中新建的拆分出来的配置文件的data id |
| spring.cloud.nacos.config.extension-configs[0].group | 命名空间下的组 |
| spring.cloud.nacos.config.extension-configs[0].refresh | 实时刷新,默认为false |
测试
我们将原来项目中appliction.yml中的所有配置项全部注释,发现项目能正常运行,且可以正常调用优惠券服务。
切换环境只需修改组名就好了,无需修改命名空间名。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
浅谈Java自定义类加载器及JVM自带的类加载器之间的交互关系
这篇文章主要介绍了浅谈Java自定义类加载器及JVM自带的类加载器之间的交互关系,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2021-02-02
Spring Cloud Config Client超时及重试示例详解
这篇文章主要给大家介绍了关于Spring Cloud Config Client超时及重试的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧2018-05-05


最新评论