1.如何使用Nacos作为配置中心统一管理配置
1.1引入依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2.2创建一个bootstrap.properties
spring.application.name=gulimall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
2.3需要给配置中心默认添加一个配置集(Data Id)。默认规则,应用名.properties
2.4给“应用名.properties”添加任何配置
2.5动态获取配置
@RefreshScope // 从配置中心动态获取并刷新配置
@Value("${配置项的名}") // 获取配置
(如果配置中心和当前应用的配置文件中都配置了相同的项,优先使用配置中心的配置。)
2.细节
2.1命名空间(Namespace)
用于进行租户粒度的配置隔离,可用于对不同环境配置的区分隔离。默认新增所有配置都在public(保留空间)。
2.1.1开发、测试、生产,利用命名空间基于环境进行隔离
注意:在bootstrap.properties配置需要使用哪个命名空间下的配置
spring.cloud.nacos.config.namespace=4d88b50e-bdcc-44b0-93f2-35e39b357cea
2.1.2基于微服务进行隔离,每一个微服务之间互相隔离配置,每一个微服务都创建自己的命名空间,只加载自己命名空间下的所有配置
2.2配置项 (Configuration Item)
一个具体的可配置的参数与其值,通常以 param-key=param-value 的形式存在。例如我们常配置系统的日志输出级别(logLevel=INFO|WARN|ERROR) 就是一个配置项。
2.3配置集 (Configuration Set)
一组相关或者不相关的配置项的集合。一个配置文件通常就是一个配置集,它可能包含了数据源、线程池、日志级别等配置项。
2.4配置集 ID(Data ID)
类似文件名。某个配置集的标识 ID,用于组织划分系统的配置集。一个系统或者应用可以包含多个配置集。
2.5配置分组(Group)
对配置集进行分组,用于区分 Data ID 相同的配置集。默认采用 DEFAULT_GROUP 。配置分组的常见场景:不同的应用或组件使用了相同的配置类型,如 database_url 配置和消息队列 Topic 配置等。
spring.cloud.nacos.config.group=1111
3.同时加载多个配置集
3.1微服务任何配置信息,任何配置文件都可以放在配置中心中
3.2只需要在boostrap.properties说明加载配置中心中哪些配置文件即可
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