谷粒商城15-Nacos支持的三种配置加载方案


Nacos支持的三种配置加载方案
Nacos支持“Namespace+group+data ID”的配置解决方案。
详情见:https://github.com/alibaba/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc

相关的概念

命名空间
用于进行租户粒度的配置隔离, 不同的命名空间下, 可以存在相同的Group 或Data ID的配置. 命名空间的常用场景之一是不同环境的配置的区分隔离, 例如开发环境, 测试环境 和生产环境的资源(如配置, 服务的隔离等)

配置集
一组相关或者不相关的配置项的集合 称之为配置集, 在系统中, 一个配置文件, 通常就是一个配置集.包含了系统各个方面的配置, 例如, 一个配置集可能包含了数据源, 线程池, 日志级别的配置项等.
所有的配置的集合 , 就叫配置集.

配置集ID
Nacos中的某个配置集 ID, 配置集ID是组织 划分配置的维度之一, DataID 通常用于组织划分系统的配置集, 一个系统或者应用可以包含多个配置集, 每个配置集都可以被一个有意义的名称标识, DataID通常采用类Java包 例如com.taobao.tc.refund.log.level 的命名规则, 保证全局唯一性. 此命名规则非强制性
类似于文件名 . Data ID 就是配置集的ID

配置分组
Nacos中的一组配置集, 是组织配置的维度之一, 通过一个有意义的字符串(如 Buy 或Trade) 对配置集进行分组, 从而区分 Data ID相同的配置集. 当您在Nacos上创建一个配置时, 如果未填写配置分组的名称, 则配置分组的名称默认采用DEFAULT_GROUP 。配置分组的常见场景:不同的应用或组件使用了相同的配置类型,如 database_url 配置和 MQ_topic 配置.
默认所有的配置集, 都属于DEFAULT_GROUP. 新建立分组, 是在新建配置的时候, 手动输入Group组.

Namespace(名称空间)方案

通过命名空间实现环境区分
下面是配置实例:
1、创建命名空间:
“命名空间”—>“创建命名空间”:

命名空间的作用
1.用于配置隔离
开发 测试 生产环境各有命名空间. 如下创建 三个环境的命名空间

创建三个命名空间,分别为dev,test和prop
2、回到配置列表中,能够看到所创建的三个命名空间

下面我们需要在dev命名空间下,创建“gulimall-coupon.properties”配置规则:
public克隆配置到prop中

Prop中的配置修改如下

修改coupon微服务的配置文件, 指定使用哪个命名空间, 如下指定的是prop命名空间的uuid

浏览器访问 http://localhost:7000/coupon/coupon/test
可以看到获取的数据为prop中的配置信息

但是这种命名空间的粒度还是不够细化,对此我们可以为项目的每个微服务module创建一个命名空间。
每一个微服务都创建自己的命名空间, 只加载自己命名空间下的所有配置
6、为所有微服务创建命名空间

7、回到配置列表选项卡,克隆pulic的配置规则到coupon命名空间下

切换到coupon命名空间下,查看该命名空间的id

8、修改“gulimall-coupon”下的bootstrap.properties文件,添加如下配置信息
spring.cloud.nacos.config.namespace= 815d84b4-93a5-493a-89f4-a913b2b8b676
这里指明的是,读取时使用coupon命名空间下的配置。
9、重启“gulimall-coupon”,访问:http://localhost:7000/coupon/coupon/test

DataID方案

通过指定spring.profile.active和配置文件的DataID,来使不同环境下读取不同的配置,读取配置时,使用的是默认命名空间public,默认分组(default_group)下的DataID。
默认情况,Namespace=public,Group=DEFAULT GROUP,默认Cluster是DEFAULT

例如如图不同的dataid

Group方案

通过Group实现环境区分
实例:通过使用不同的组,来读取不同的配置,还是以上面的gulimall-coupon微服务为例
1、新建“gulimall-coupon.properties”,将它置于“11111”组下

2、修改“bootstrap.properties”配置,添加如下的配置

spring.cloud.nacos.config.group=11111
3、重启“gulimall-coupon”,访问:http://localhost:7000/coupon/coupon/test
在这里插入图片描述

本项目使用的配置方案

每个微服务创建自己的命名空间, 使用配置分组区分环境, dev test prod
如下图所示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值