Nacos学习笔记(五)---- NacosConfig配置

Nacos学习笔记(五)---- NacosConfig配置_第1张图片

相关资料:

官方SCA(服务组件框架) Nacos Config 共享配置方案设计:

https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config-custom-solution.adoc

Spring Cloud Alibaba Nacos Config:

https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-config.adoc

Spring Cloud Alibaba Nacos Discovery:

https://github.com/spring-cloud-incubator/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-docs/src/main/asciidoc-zh/nacos-discovery.adoc

NacosConfig区分不同环境下的配置:

一.使用Data IDprofiles进行区分

配置列表样例:

Nacos学习笔记(五)---- NacosConfig配置_第2张图片

具体操作:

    1.在bootstrap.properties配置文件中加入配置: spring.profiles.active=环境名

         Nacos学习笔记(五)---- NacosConfig配置_第3张图片

    2.在Nacos配置列表中新建配置

         Nacos学习笔记(五)---- NacosConfig配置_第4张图片

    3.配置发布后启动项目看一下日志

o.s.c.a.n.c.NacosPropertySourceBuilder   : Loading nacos data, dataId: 'nacos-config-client-TEST.properties', group: 'DEFAULT_GROUP'

        这里表明,在加入spring.profiles.active 配置后,Data ID变成了nacos-config-client-TEST.properties

    4.关于Data ID的匹配规则:

        ${spring.cloud.nacos.config.prefix}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}

        前缀-环境名.配置文件类型

        spring.profile.active 默认无

        spring.cloud.nacos.config.file-extension 默认.properties

二.使用Group区分

配置列表样例:

具体操作:

    1.在bootstrap.properties配置文件中加入配置: spring.cloud.nacos.config.group=组名

        Nacos学习笔记(五)---- NacosConfig配置_第5张图片

    2.在Nacos配置列表中新建配置

        Nacos学习笔记(五)---- NacosConfig配置_第6张图片

    3.配置发布后启动项目查看日志

o.s.c.a.n.c.NacosPropertySourceBuilder   : Loading nacos data, dataId: 'nacos-config-client.properties', group: 'DEV_GROUP'

        可以看出Group已经改变

    4.说明:

        spring.cloud.nacos.config.group 默认为DEFAULT_GROUP

三.使用Namespace进行环境隔离:

样例:

Nacos学习笔记(五)---- NacosConfig配置_第7张图片

Nacos学习笔记(五)---- NacosConfig配置_第8张图片

具体操作:

    1.在Nacos命名空间中新建命名空间

Nacos学习笔记(五)---- NacosConfig配置_第9张图片

    2.新建命名空间

Nacos学习笔记(五)---- NacosConfig配置_第10张图片

    3.确认后

    4.此时返回配置列表,可以看到已经配置好的命名空间

        Nacos学习笔记(五)---- NacosConfig配置_第11张图片

    5.切换到TEST空间,并添加一条配置

      Nacos学习笔记(五)---- NacosConfig配置_第12张图片

    6.在bootstrap.properties配置文件中加入配置: spring.cloud.nacos.config.namespace=命名空间ID

        Nacos学习笔记(五)---- NacosConfig配置_第13张图片

    7.说明:

        (1).启动项目后,日志中不会显示与Namespace相关的信息

        (2).默认的Namespacepublic并且不可以删除

NacosConfig共享配置:

一.创建几个配置并发布:

    Nacos学习笔记(五)---- NacosConfig配置_第14张图片

二.加载多个配置方式一:

    1.在bootstrap.properties配置文件中加入配置: spring.cloud.nacos.config.ext-config

Nacos学习笔记(五)---- NacosConfig配置_第15张图片

    2.启动项目,看看日志

o.s.c.a.n.c.NacosPropertySourceBuilder   : Loading nacos data, dataId: 'log.properties', group: 'DEFAULT_GROUP'
o.s.c.a.n.c.NacosPropertySourceBuilder   : Loading nacos data, dataId: 'global.properties', group: 'DEFAULT_GROUP'
o.s.c.a.n.c.NacosPropertySourceBuilder   : Loading nacos data, dataId: 'nacos-config-client.properties', group: 'DEFAULT_GROUP'

        根据日志可以看出一共加载了三个配置,而且有加载顺序

    3.测试略,结果就是没有refresh属性的新增配置无法动态刷新

三.加载多个配置方式二:

    1.在bootstrap.properties配置文件中加入配置: spring.cloud.nacos.config.shared-dataids

Nacos学习笔记(五)---- NacosConfig配置_第16张图片

    2.启动项目,看看日志

o.s.c.a.n.c.NacosPropertySourceBuilder   : Loading nacos data, dataId: 'log.properties', group: 'DEFAULT_GROUP'
o.s.c.a.n.c.NacosPropertySourceBuilder   : Loading nacos data, dataId: 'global.properties', group: 'DEFAULT_GROUP'
o.s.c.a.n.c.NacosPropertySourceBuilder   : Loading nacos data, dataId: 'nacos-config-client.properties', group: 'DEFAULT_GROUP'

      三个配置都加载了,加载顺序和方式一的一样

    3.测试略,结果就是spring.cloud.nacos.config.refreshable-dataids中没有的新增配置无法动态刷新

你可能感兴趣的:(nacos)