获取nacos配置中心文件值_程序员你是如何使用Nacos作为配置中心的?

本文介绍了如何将Nacos用作配置中心,实现微服务的配置统一管理和共享。通过引入spring-cloud-starter-alibaba-nacos-config依赖,配置相关属性,如server-addr和namespace,并使用注解加载配置。同时,展示了如何设置共享配置文件,覆盖服务的独有配置,以及配置的加载顺序。最后,简要分析了Nacos配置中心的源码,涉及NacosConfigBootstrapConfiguration、NacosConfigAutoConfiguration等组件的作用。
摘要由CSDN通过智能技术生成

假如你使用的是spring-cloud-alibaba微服务技术栈

单个服务独有配置文件

即去除应用程序的状态,配置统一外部化管理,方便进行水平的伸缩。

集成步骤:

假如我有一个应用app-design;

1,引入依赖:

com.alibaba.cloud

spring-cloud-starter-alibaba-nacos-config

2.2.1.RELEASE

2, 配置文件;spring.cloud.nacos.config.enabled=true

spring.cloud.nacos.config.refresh-enabled=true

spring.cloud.nacos.config.server-addr=${spring.cloud.nacos.discovery.server-addr}

spring.cloud.nacos.config.namespace=${spring.cloud.nacos.discovery.namespace}

说明如下:属性说明spring.cloud.nacos.config.server-addr=${spring.cloud.nacos.discovery.server-addr}nacos配置中心地址

spring.cloud.nacos.config.namespace=${spring.cloud.nacos.discovery.namespace}nacos的命名空间,这里跟服务发现的配置一致;

3,使用配置的方式,同本地配置文件一样。

@Value @PropertyConfiguration 这些注解都是支持的;

4,确认方式,比如把之前的application.properties的配置放到了配置中心;

本地启动的时候,读取到了8081端口和数据库连接池的配置;

配置中心的连接原理,后面单独整理出来,知其然并知其所以然。

服务之间共享配置文件

场景:多个后端微服务,在同一个集群中共用中间件的配置信息。

比如 缓存redis, 消息队列kafka, 文件服务器, 邮件服务器;

那么对应的配置文件没有必要在所有的后端微服务中单独存在,这些配置文件应该放在公共配置文件中,但是也可以被具体的后端微服务自己的独有配置文件覆盖,使用自己的私有配置;

可结合下图理解:

问题回答where are we?现状中间件配置分散在很多服务中,配置繁琐,不方便统一管理

where are we go?目的同一个集群的中间件只维护一份,各服务共享,也可按照需要覆盖共享的配置;

how can we go there?实现路径基于nacos已有功能实现

下面是实际的coding过程和测试用例;

服务app-file;

在服务对应的nacos的namespace中

1 引入共享配置#共享中间件的配置

spring.cloud.nacos.config.shared-configs[0].data-id=mid.properties

spring.cloud.nacos.config.shared-configs[0].group=DEFAULT_GROUP

spring.cloud.nacos.config.shared-configs[0].refresh=true

位置: 模块start下的src/main/resources/bootstrap.properties文件中

自描述的配置信息,即引入的共享配置文件列表有哪些,可以按照需要,配置各种中间件的配置信息;key说明data-id_the data id of extended configuration 配置文件名称&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值