一定要看的走坑之路!SpringCloud统一配置中心 config Server

先说下client拿config的配置文件的流程!,这个不了解,很容易进坑!

1.如果config client 的配置文件为application.properties的时候

client 启动项目时,直接找自己properties,如果这个时候项目中有引用properties中的属性的时,项目启动就直接报错,因为他根本就不会去config server中找,所以找不到,就启动不了项目!!而且显示fetch
config为localhost:8888说明他没有去config中拿配置文件。所以要把application.properties改名为bootstarp.properties

2.当config client的配置文件为bootstrap.properties的时候

这个时候,client先看自己的properties有没有eureka server的注册地址
1.如果有,就从自己的properties定义的defaultZone中注册到eureka server,并且找到注册在eureka server中的config server,于是就从config server中拿配置文件,拿到了之后再启动项目。
2.如果没有,就访问默认的eureka server地址:http://localhost:8761/eureka。如果eureka server在这上面,那么就找到了,如果不在,那么也找不到config server。

3.当git上一个分支有多个版本的properties的时候,如:client.properties,
client-dev.properties, client-test.properties

这个时候若client指定要拿dev。但是,config server这边则是把client.properties,
client-dev.properties这两个配置文件搞一起,再给client端。因此,假如client.properties,client-dev.properties这俩文件有相同的部分,你改了其中一个,并不会生效,因为他们是搞一起给client的。要改两个都要改

4.如果你想搞个config client端,一定记住除了勾选config client,还要自己添加依赖:spring-cloud-starter-bus-amqp,还有@RefreshScope

5.config server分发规则,按application name分发:

比如我这个master分支里面有两个文件。在这里插入图片描述
这里也相应的注册了client,gateway两个应用,他们都是config client端
在这里插入图片描述
config client端写的配置文件:
spring.cloud.config.discovery.service-id=config spring.cloud.config.discovery.enabled=true spring.cloud.config.profile=dev
就三条,也没有指定他们所需要的具体的properties名字,所以他们怎么辨别自己要获取哪一个config server上的properties文件呢?
!!!是通过自己的application name来获取自己对应文件的!
所以一开始我就设置了他们的应用名字和properties文件名字相同,所以能找到。
并且启动的时候你能够找到他有没有找到对应的properties文件。如果找到了的话,会在控制台出现:

b.c.PropertySourceBootstrapConfiguration : Loca
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值