《深入理解Spring Cloud与微服务构建》学习笔记(二十)~配置中心Spring Cloud Config
本例重新创建项目,构建一个空的mavan工程。
一、Config Server 从本地读取配置文件
新建一个moudle config_server ,pom添加依赖
-
<dependency>
-
<groupId>org.springframework.cloud</groupId>
-
<artifactId>spring-cloud-config-server</artifactId>
-
</dependency>
启动类添加 @EnableConfigServer 依赖开启配置服务功能,application.yaml添加配置如下:
-
server:
-
port: 9001
-
spring:
-
profiles:
-
active: native #从本地读取配置文件
-
cloud:
-
config:
-
server:
-
native:
-
search-locations: classpath:/shared #读取classpath下shared目录下的配置
在resource目录下新建shared目录,shared下新建 config-client-dev.yaml配置文件:
-
server:
-
port: 3000
-
foo: foo-version-v1
继续新建一个modulr config_client ,添加config 客户端依赖,如:
-
<dependency>
-
<groupId>org.springframework.cloud</groupId>
-
<artifactId>spring-cloud-starter-config</artifactId>
-
</dependency>
添加配置文件application.yaml:
-
spring:
-
application:
-
name: config-client
-
cloud:
-
config:
-
uri: http://localhost:9001 #读取配置文件的config服务地址
-
fail-fast: true #读取未成功则快速失败
-
profiles:
-
active: dev #读取dev配置文件
启动类添加代码,获取服务端配置的foo属性:
-
-
String foo ;
-
-
-
public String foo(){
-
return " 读取的远程服务的配置文件foo:"+foo;
-
}
此时编码完成,启动config-server、config-client,然而启动config-client的时候控制台一直报错:
一直访问的是默认的端口,并没有使用我们配置的端口,说明配置文件没有被正常加载。
通过调研发现,config-client中配置文件会首先加载bootstrap.yaml,将配置文件application.yaml 修改为 bootstrap.yaml,重新启动发现正常,在浏览器访问:http://localhost:3000/foo
会看到浏览器输出我们在服务端配置的信息:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示