做网站页面的框架,网站备案变更,做网站如何引流,兼职做设计的网站文章目录 一#xff0c;拆分配置集二#xff0c;配置文件中配置多配置集1#xff0c;引用多配置集2#xff0c;验证 三#xff0c;多配置集总结1#xff0c;使用场景2#xff0c;优先级 这一节介绍如何加载多个配置集。 大多数情况下#xff0c;我们把配置全部放在一个… 文章目录 一拆分配置集二配置文件中配置多配置集1引用多配置集2验证 三多配置集总结1使用场景2优先级 这一节介绍如何加载多个配置集。 大多数情况下我们把配置全部放在一个配置集中即可但如果配置集非常大把其拆分为多个配置集更方便管理和维护。
比方说我们可以把数据库连接相关的信息防止在一个配置集把Nacos相关的配置放在一个配置集。
一拆分配置集
把原来配置在一个配置集的配置拆分出来放在两个配置集。 二配置文件中配置多配置集
1引用多配置集
对于上面两个配置集要通过下面方式引用。
spring.cloud.nacos.config.ext-config[0].data-iddatasource.yml
spring.cloud.nacos.config.ext-config[0].groupdev
spring.cloud.nacos.config.ext-config[0].refreshtruespring.cloud.nacos.config.ext-config[1].data-idnacos-discovery.yml
spring.cloud.nacos.config.ext-config[1].groupdev
spring.cloud.nacos.config.ext-config[1].refreshtrue通过spring.cloud.nacos.config.ext-config[n].data-id的配置来配置多个DataId 的配置。通过spring.cloud.nacos.config.ext-config[n].group 的配置来指定dataId所在的组不明确指定的话使用默认的DEFAULT_GROUP通过spring.cloud.nacos.config.ext-config[n].refresh 的配置来控制该dataId属性变更时是否动态刷新加载默认如果不在DEFAULT_GROUP自动刷新是关闭的可以通过置为true来手动开启。
需要特别说明的是使用多配置集时如果多个配置集有相同的key比如都配置了端口server.port它的优先级关系是 spring.cloud.nacos.config.ext-config[n].data-id 中n的值越大优先级越高。
2验证
首先重启服务如果不报错且能注册到注册中心说明多配置集的nacos配置起作用了。
其次访问有数据库逻辑的接口如果响应正常说明多配置集的数据库配置起作用了。
http://localhost:7000/coupon/coupon/list三多配置集总结
1使用场景
多环境配置通过 Data ID 与 profile 实现多环境配置例如在 bootstrap.yml 中配置 spring.cloud.nacos.config.ext-config 来加载不同环境的数据库配置文件 。 配置共享在多个服务之间可能存在一些共享的配置通过 Nacos 控制台配置共享 DataId然后在应用的 bootstrap.properties 或 bootstrap.yml 中通过 spring.cloud.nacos.config.shared-dataids 加载这些共享配置 。
2优先级
有个问题不得不考虑如果本地有配置nacos上有默认配置集还有多配置集。如果这些配置都配置了相同的key比如server.port最终生效的配置属于哪个配置集呢
spring cloud alibaba nacos config 目前提供了三种配置能力从Nacos拉取相关的配置。
① 通过spring.cloud.nacos.config.shared-datadis 支持多个共享data id的配置。② 通过spring.cloud.nacos.config.ext-config[n].data-id 的方式支持多个扩展Data Id的配置。③ 通过内部相关规则应用名、应用名profile自动生成的DataId配置。
优先级是① ② ③ 即先读取③再读取②最后读取①。