云服务器NACOS配置中心拉取配置失败
创始人
2024-09-25 03:47:50
0

问题

我买了台云服务器部署了nacos,我的配置如下:将配置文件拆分为多个文件,在用include引用,结果云服务器配置中心的配置一直引用失败
于是我在本机部署了nacos,修改了server-addr并把配置移到了本地的nacos中,结果好使了,然后我关闭本地nacos服务器端再次换回云服务器地址,结果也好使了????what the fuck??下面来解释原因(个人见解)。结尾附应用、共享、拓展配置文件取名示例
bootstrap.yml配置
nacos的配置
在云服务器上的配置

产生原因

问题一:为什么取得是本地的配置文件而不是服务器上的配置文件?

在spring boot自动装配的过程中,会加载NacosConfigBootstrapConfiguration
在这个类中会接着创建NacosConfigPropertie和NacosConfigManager以及NacosPropertySourceLocator三个类,下面是三个类的解析和图解:

  1. NacosConfigPropertie:就是你bootstrap.yml的配置,配置中无nacos地址默认127.0.0.1:8848
  2. NacosConfigManager:作用就是根据你的配置类来创建NacosConfigService并初始化,最后用NacosConfigService连接nacos配置中心。
  3. NacosPropertySourceLocator:根据你的manager类来获取远程配置中心共享配置、扩展配置、应用配置。

总结

因为bootstrap配置类是早于所有关于nacos的配置类的,如果你不把adress配置放置在bootstrap里那么他一定会从nacos默认的地址去查你的配置所有文件。


NacosConfigBootstrapConfiguration类

在这里插入图片描述
配置文件初始化

在这里插入图片描述
NacosConfigManager初始化

在这里插入图片描述
点进createConfigService方法,到configFactory创建service实例

在这里插入图片描述

此处可以看到地址为127.0.0.1:8848,接着再去创建NacosPropertySourceLocator都会有问题了

在这里插入图片描述

问题二:为什么关了本地nacos服务器还能取到配置文件呢?

应该是卡了,我关闭本地服务器估计是没关上,关机就重启就拉不到了

解决方法

把nacos的服务器信息的配置放到bootstrap.yml中,就可以了
修改配置信息

示例:bootstrap.yml配置文件格式

spring:   application:     name: gateway-service   profiles:     active: @profiles.active@   cloud:     nacos:       config:         server-addr: @nacos.config.address@         namespace: @nacos.config.namespace@         username: nacos         password: nacos         file-extension: yml         # 共享配置         shared-configs:           - data-id: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}             # 默认为DEFAULT_GROUP             group: DEFAULT_GROUP             # 是否动态刷新,默认为false             refresh: true         #扩展配置         # 优先级大于 shared-configs,在 shared-configs 之后加载         extension-configs:           - data-id: skipURL.yml             group: DEFAULT_GROUP             refresh: true           - data-id: jwt.yml             group: DEFAULT_GROUP             refresh: true 

相关内容

热门资讯

十分钟内置!Wepoke实锤(... 十分钟内置!Wepoke实锤(wEpOke)辅助透视(透视)其实真的有挂(有挂规律)-哔哩哔哩;We...
八分钟给好牌!渝都亲友圈看别人... 八分钟给好牌!渝都亲友圈看别人开挂(透视)详细教程(2022已更新)(哔哩哔哩);原来确实真的有挂(...
六分钟神器!悠闲娱乐有挂的(透... 相信很多朋友都在电脑上玩过悠闲娱乐有挂的吧,但是很多朋友都在抱怨用电脑玩起来不方便。为此小编给大家带...
九分钟盈利!决战血流设置才能一... 九分钟盈利!决战血流设置才能一直赢(透视)外挂透明挂辅助器(有挂详情)-哔哩哔哩关于决战血流设置才能...
总算了解(pokermaste... 总算了解(pokermastersteam外挂)外挂透明挂辅助器安装(透视)详细教程(有挂ai代打)...
7分钟电脑!wpk检测伙牌(透... 1、7分钟电脑!wpk检测伙牌(透视)软件透明挂(有挂靠谱)-哔哩哔哩(UU poker、tudou...
一分钟秒懂!微扑克ai软件(透... 一分钟秒懂!微扑克ai软件(透视)软件透明挂(有挂攻略)-哔哩哔哩;人气非常高,ai更新快且高清可以...
1分钟plus(pokerno... 《微扑克ai代打软件透明挂》是一款多人竞技的微扑克ai代打辅助透视游戏,你将微扑克对手来到同一个战场...
9分钟智能!佛手在线调胜率,太... 9分钟智能!佛手在线调胜率,太坑了竟然是真的有挂,详细教程(有挂总结)-哔哩哔哩这是由厦门游乐互动科...
四分钟安卓!wopoker辅助... 四分钟安卓!wopoker辅助软件(Wepoke外挂)透视辅助(有挂猫腻)-哔哩哔哩;《WPK辅助透...