springcloud-alibaba-nacos(8)nacos共享配置
文章目录
- 为什么需要配置共享
- Nacos实现配置共享实战
- 依赖引入
- YML配置
- 配置的概念
- 远程核心配置
- 远程共享配置
- 共享配置与核心配置优先级
- 多个共享配置间优先级
- 共享配置优先级总结
为什么需要配置共享
微服务应用在系统开发的时候,我们会启动很多很多个微服务实例,每个服务都有自己的配置,但有的配置其实是一样的 比如mysql 连接、mongo连接、或者mq地址等等,因此我们可以提取出一个公共配置
Nacos实现配置共享实战
依赖引入
如果您的微服务项目还未引入nacos作为配置客户端的话,那么您首先需要引入依赖
<dependency><groupId>com.alibaba.cloudgroupId><artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
dependency>s
YML配置
server:port: 8902
spring:application:name: app-base-centercloud:nacos:# 我这里使用Nginx做了集群server-addr: http://10.50.40.116:8765config:# 指明当前项目核心配置文件后缀为Yml 则最终会从 app-base-center.yml拉取配置file-extension: ymlgroup: DEFAULT_GROUP# 共享配置shared-configs:- data-id: adas-common-shared-config.ymlgroup: DEFAULT_GROUP# 是否动态刷新,默认为falserefresh: true- data-id: mongo-shared-config.ymlgroup: DEFAULT_GROUPrefresh: falsediscovery:ip: 10.50.40.113
配置的概念
远程核心配置
远程核心配置指的存在于nacos服务器上,项目本身的配置,通过上方配置的文件扩展名、分组、命名空间、项目名 等找到
上方yml 最终回去 默认public 命名空间,DEFAULT_GROUP 分组 去寻找 app-base-center.yml
远程共享配置
shared-configs 便是共享配置了,我们可以同时读取多个共享配置,具体逻辑可以按住Ctrl 从Yml配置点过去查看源码
共享配置必须与核心配置在同一命名空间下,可以不同分组
共享配置与核心配置优先级
核心配置 > 共享配置
比如 核心配置 与共享配置均有 配置属性 student.name
,那么最后应用的将是核心配置中对应的配置属性
核心配置如下:
共享配置如下:
那么最终项目中应用的对应属性为 核心配置app-base-centeryml
中的配置
多个共享配置间优先级
例如,我上方配置了两个共享配置 adas-common-shared-config.yml
与 mongo-shared-config.yml
且配置中都含有属性spring.data.mongodb.uri
多个共享配置间,相同的属性将会根据YML配置先后顺序,从后向前覆盖,那么我这里将会由mongo-shared-config.yml 的共享配置覆盖掉adas-common-shared-config.yml
共享配置优先级总结
远程核心配置 > 远程共享配置(多个配置从后向前覆盖) > 远程扩展配置 (多个配置从后向前覆盖) >本地配置
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!