j基础
- 将配置文件统一提取到其他位置(git),使配置文件可以动态更新和统一管理;
- 过程:
- 在git上创建目录,以及相应的配置文件
- 构建配置中心,引用config-server,在其配置文件中指定git上配置文件位置以及用户名和密码
- 配置客户端(客户端即服务),引入config依赖,在bootstrap配置文件中指定与配置中心中相同的属性信息,然后指定配置中心的地址
- 配置文件从配置中心获取,配置中心从git上获取,同时,本地存有备份;
- 配置中心返回的配置文件为其本地的备份
- 配置中心可以指定多个仓库,通过pattern来实现
- 可以使用占位符来配置url,方便统一更改
- 可以配置本地文件系统
- 配置中心和客户端可以都配置到euraka中,然后,客户端在boot配置文件中指定eureka注册中心地址,即可根据本服务的name和profile来获取配置文件
- eureka本身不可以自动重试,需要引入retry以及aop依赖
- 动态刷新配置:
- 实现在服务运行的过程中,更改其配置文件
- 引入actuator依赖,其中/refresh 端点,可用于实现配置信息的重新获取
注意点
- spring boot 配置文件的加载顺序
- 在 Spring Boot 中有两种上下文,一种是 bootstrap, 另外一种是 application,
- bootstrap 是应用程序的父上下文,也就是说 bootstrap 加载优先于 applicaton。bootstrap 主要用于从额外的资源来加载配置信息,还可以在本地外部配置文件中解密属性。这两个上下文共用一个环境,它是任何Spring应用程序的外部属性的来源。
- bootstrap 里面的属性会优先加载,它们默认也不能被本地相同配置覆盖。