一、共享配置文件的应用场景

在微服务的背景下,多个微服务在不用的主机上运行,由于代码不互通,所以每个服务都需要在applicantion.yaml下配置各种信息(比如:数据库配置,nacos配置,日志配置,mybatis配置,swagger文档配置等等),这些配置的参数都一样,只不过是个别变量在不同的服务上不一样而已,如果把配个在每个服务上都写一遍配置文件十分繁琐,当需要修改公共的部分的时候,也还要一个一个服务的改,管理起来很不方便。

而Nacos文件共享配置文件就可以解决这个问题。既然所有的服务在启动的时候,都是要注册到注册中心(Noacos)上的,那我们干脆就直接把各个服务都需要用到的配置,放到Nacos上进行管理就好了,大家都读取Nacos上的文件配置,然后本地只需要根据自身情况定义配置变量的值就好了。

二、Nacos共享配置流程

我们理想的情况是:项目启动的时候先拉取nacos上的公共配置,在读取本地配置,但是nacos的地址信息是放在本地的applicantion文件中的,不先读取本地配置,那怎么拉取nacos上的公共配置的。但是如果先读取了本地的配置,那么后面再拉取nacos的公共配置又有什么意义呢?

为此,springcloud已经为我们想好了一套执行流程方案来解决。

项目在启动的时候,会先初始SpringCloud的上下文,然后在SpringCloud的上下中会先读取bootstrap.yaml 或者bootstrap.properties 文件,只要我们在bootstrap.yaml 文件中配置nacos地址,就能在项目启动的时候 把nacos上的配置拉取下来了。

三、具体实现

文章作者: 落叶知秋
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 落叶知秋
喜欢就支持一下吧