SpringCloud Config 配置中心
作用:
把项目中的所有配置文件上传到git仓库,统一管理,版本控制,也可以控制分支
准备:
新建一个普通的Project,把所有需要管理的配置文件拷贝到这个Project中,并且重命名
命名规则为:应用名-后缀名.yml
例如:item-service-dev.yml
为了防止远程下载的配置覆盖掉IDE的启动参数–server.port=8101
所以需要在每个配置文件中加入一个配置:
spring:
cloud:
config:
override-none: true
配置:
把该项目同步到远程git仓库后,创建一个Spring Starter项目
添加依赖:Config Server和Eureka Discovery Client
配置中心项目需要连接Eureka注册
yml文件:
spring:
application:
name: config-server
cloud:
config:
server:
git:
uri: https://gitee.com/aut_demon/sp-config.git
search-paths: config
# username:
# password:
server:
port: 6001
eureka:
client:
service-url:
defaultZone: http://eureka1:2001/eureka, http://eureka2:2002/eureka
注意,这里的仓库是设置为公开的,如果是私有的,需要加入username和password
主启动类加入注解:
@EnableConfigServer
在所有需要管理配置文件的项目中,加入一个依赖:Config Client,以及配置文件:bootstrap.yml(文件名称固定不可变)
#引导配置
#先于应用配置加载
#设置连接配置中心,从配置中心下载配置信息,然后再启动应用
#1.连接eureka,从eureka中获得配置中心的地址
eureka:
client:
service-url:
defaultZone: http://eureka1:2001/eureka,http://eureka2:2002/eureka
#连接配置中心,从配置中i性能下载指定的配置文件
spring:
cloud:
config:
discovery:
enabled: true
service-id: config-server
name: user-service
prifile: dev
可能遇到的问题:
1.文件名写错,导致无法从服务器无法获取配置文件
检查用浏览器连接localhost:6001/配置文件,来确保配置文件是否正常
2.依赖没有加全或者配置文件写错
依赖重新去掉重新装,配置文件检查不要写错,可以从浏览器测试的连接路径中复制
3.无法连接到服务器
必须先启动Eureka,然后再启动Config配置中心项目,注册完毕后才可以连接到配置文件
配置文件自动刷新
作用:
更新远程git仓库里后,实现刷新配置文件,一般仅用作刷新自定义配置
限制:
无法刷新核心配置,比如端口,项目名,Eureka连接信息等
配置方法:
需要配置刷新参数的项目中添加依赖:actuator
需要暴露监控端点:refresh
management:
endpoints:
web:
exposure:
include: refresh
此时需要把配置文件上传到远程git仓库,并重启项目更新配置
在需要刷新数据的类上添加注解:
@RefreshScope
监控端点:
localhost:8101/actuator/refresh
此端点仅支持Post访问,需要用到PostMan,并且访问不要带任何参数
每次访问该端点,服务器就会从远程git仓库下载更新配置文件,并且在有@RefreshScope注解的类中更新配置文件参数