SpringCloud:分布式配置中心客户端使用实战(十七)
程序员文章站
2022-07-12 13:14:51
...
在上一章实战十六实战了config连接git服务器拉取相关配置,这一章讲解客户端如何获取Config服务器配置
1.加入依赖(需要拉取配置的服务加)
<!--配置中心客户端-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
</dependency>
为什么要用bootstrap.yml配置文件?
正常启动一个应用会去注册中心注册服务,但是如果用配置中心,它不知道先去配置中心拿数据,还是先去注册服务。这里是文件的加载顺序,最高优先级
2.将配置文件改成bootstrap.yml配置文件
加入配置
#指定注册中心
eureka:
client:
sericeUrl:
defaultZone: http://localhost:8761/eureka/
#服务的名称
spring:
application:
name: product-service
#拉取配置中心配置
cloud:
config:
discovery:
#配置中心的服务名称 eureka上的
service-id: CONFIG-SERVER
enabled: true #开启发现功能 默认是false
#不同分支 不同环境 不使用默认的master 博主这里创建了test分支 如果没有创建的可以写master
profile: test
3.重新测试访问,看是否能正常返回数据
注意问题
有小伙伴可能一直在按着我的实战走,如果配置完发现Controller层报端口错,就表明没有拿去到配置.还要记得把多节点关闭,不然一开始会先按照你写的端口号走,反而不走配置中心里的文件
创建分支的小伙伴可进行灰度测试等等,多环境多节点等
补充知识点
配置是从哪里读取的呢?
可以看服务的日志打印
可以采用轮询的方式,多节点服务访问多节点配置服务
注意点
1.配置文件要用bootstrap.yml
2.默认读取文件名是服务名称 你git上的文件名要和配置里写的服务名要一致,不然读取不到对应文件
不明白的话好好看看读取路径的规则 上一章有详细讲到
服务名称 你git上的文件名要和配置里写的服务名要一致,不然读取不到对应文件
不明白的话好好看看读取路径的规则 上一章有详细讲到
回调函数:在后面的实战会讲到,如何实现动态刷新配置,服务再拉取