• nacos(二):nacos配置管理功能


    各微服务统一从Nacos Server中获取各自的配置,并监听配置的变化。

    一、准备Nacos服务

    二、新建一个SpringBoot项目:yl-nacos-comfig

    三、在pom中添加nacos配置中心的依赖

    四、为我们的项目创建bootstrap.yml配置文件,并添加如下的配置

    五、在Nacos的配置管理里添加一个配置

    六、读取配置

    七、不同环境读取不同配置

    八、指定命名空间

    九、读取多个配置

    四、为我们的项目创建bootstrap.yml配置文件,并添加如下的配置

    1. spring:
    2. application:
    3. name: yl-nacos-config
    4. cloud:
    5. nacos:
    6. config:
    7. server-addr: localhost:8849
    8. file-extension: yaml
    9. spring:
    10. application:
    11. name: service-examination
    12. cloud:
    13. nacos:
    14. discovery:
    15. server-addr: @config.addr@
    16. namespace: @config.ns@
    17. cluster-name: @config.cluster@
    18. config:
    19. server-addr: @config.addr@
    20. namespace: @config.ns@
    21. cluster-name: @config.cluster@
    22. prefix: ${spring.application.name}
    23. file-extension: yml
    24. shared-configs:
    25. - data-id: common.yml
    26. refresh: true

    说明:

    spring.application.name 项目名称

    spring.cloud.nacos.config.server-addr 配置Nacos服务的地址。从这个地址的配置中心获取配置

    spring.cloud.nacos.config.file-extension 配置中心数据的内容格式

    Note:

    spring-cloud-starter-alibaba-nacos-config 在加载配置的时候,加载了以 dataid 为 spring.application.name.{file-extension:properties} 的基础配置。对应以上的配置,它会去 nacos server中加载data id为service-examination的配置集。

    Note:

    若没有指定spring.cloud.nacos.confifig.group配置,则默认为DEFAULT_GROUP。

    五、在Nacos的配置管理里添加一个配置

    1. DataID的命名规则:${prefix}-${spring.profiles.active}.${file-extension}
    2. ${prefix}默认是spring.application.name的值,也可以使用spring.cloud.nacos.config.prefix来配置。
    3. ${spring.profiles.active}当前对应环境的profile。如果该项配置没有值,连前面的小横杠-也没有。
    4. ${file-extension}配置内容的数据格式,目前支持properties、yaml/yml,通过spring.cloud.nacos.config.file-extension配置。

    动态更新配置

    可以通过配置spring.cloud.nacos.config.refresh.enabled=false/true来关闭或开启动态更新配置
    

    自定义namespace配置

    1. 再没有指定namespace时,默认使用的是nacos上public这个ns
    2. 必须放在bootstrap.yml中
    1. spring:
    2. cloud:
    3. nacos:
    4. config:
    5. namespace: id#在nacos控制台获取

    自定义Groupid配置

    1. 在没有指定dataid的配置下,默认使用的是DEFAULT_GROUP
    2. 必须放在bootstrap.yml中
    3. 增加配置时Group的值一定要和spring.cloud.nacos.config.group配置的值一样
    1. spring:
    2. cloud:
    3. nacos:
    4. config:
    5. group: DEFAULT_GROUP

    自定义DataId

    1. spring:
    2. application:
    3. name: service2
    4. cloud:
    5. nacos:
    6. config:
    7. server-addr: 127.0.0.1:8848
    8. # 1. data id在默认组,不支持配置的动态刷新
    9. ext-config[0]:
    10. data-id: test-config1.yml
    11. # 2. data id不在默认组,不支持配置的动态刷新
    12. ext-config[1]:
    13. data-id: test-config2.yml
    14. group: TEST_GROUP
    15. # 3. data id不在默认组,也支持动态刷新
    16. ext-config[2]:
    17. data-id: test-config3.yml
    18. group: DEV_GROUP
    19. refresh: true

    通过测试得出以下结果:
    1. spring.cloud.nacos.config.ext-config[n].data-id可以获取多个DataId的配置
    2. spring.cloud.nacos.config.ext-config[n].group可以获取自定义DataId所在的组,默认使用的是DEFAULT_GROUP。
    3. spring.cloud.nacos.config.ext-config[n].refresh用来动态刷新对应的DataId的配置

    自定义共享DataId配置

    1. spring:
    2. cloud:
    3. nacos:
    4. config:
    5. file-extension: yml
    6. shared-dataids: common.yml #多个文件支持用逗号隔开,优先级后面高于前面,必须带文件扩展名
    7. refreshable-dataids: common.yml

    nacos目前提供三种获取配置的方式

    1. 1. spring.cloud.nacos.config.shared-dataids获取多个共享配置
    2. 2. spring.cloud.nacos.config.ext-config[n].data-id通过配置多个config[n]来拉取多个配置
    3. 3. 通过内部相关规则(应用名、扩展名)获取对应的DataId的配置

    三者共存时候,优先级3>2>1

  • 相关阅读:
    GreenPlum简介
    MongoDB简介安装和入门案例
    GPT,GPT-2,GPT-3,InstructGPT的进化之路
    集成仿真软件 PLEXOS 9.0 授权永久完美
    Hadoop-Yarn-NodeManager如何计算Linux系统上的资源信息
    what???日本大蒜销量激增;剑桥大学『机器学习与贝叶斯推理』最新课程;黑客工具速查清单;图片隐形水印添加工具;前沿论文 | ShowMeAI资讯日报
    关于电影的HTML网页设计-威海影视网站首页-电影主题HTM5网页设计作业成品
    ZooKeeper
    防火墙基础之路由器与防火墙单臂路由和DHCP接口地址池的配置
    探索多线程编程:线程的本质、状态和属性
  • 原文地址:https://blog.csdn.net/qq_43538925/article/details/126253039