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

x33g5p2x  于2021-12-20 转载在 其他  
字(2.7k)|赞(0)|评价(0)|浏览(228)

相关资料:

官方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 ID和profiles进行区分

配置列表样例:

具体操作:

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

         

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

         

    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=组名

        

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

        

    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进行环境隔离:

样例:

具体操作:

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

    2.新建命名空间

    3.确认后

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

        

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

      

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

        

    7.说明:

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

**        (2).默认的Namespace为public并且不可以删除**

NacosConfig共享配置:

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

    

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

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

    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

    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中没有的新增配置无法动态刷新

相关文章