1.在搭建分布式配置时,我们大概看下分布式配置的流程 如图所示:
当一个系统中的配置文件发生改变的时候,我们需要重新启动该服务,才能使得新的配置文件生效,spring cloud config可以实现微服务中的所有系统的配置文件的统一管理,而且还可以实现当配置文件发生变化的时候,系统会自动更新获取新的配置。目前目前springCloud仅支持RabbitMQ和Kafka ,我采用的市RabbitMQ搭建
2.搭建git地址
在流程中 首先我们应该在git或者码云上创建一个文件夹来专门获取配置 如图所示:
我的git地址:https://gitee.com/zcggit/study/,其中config专门来放置远程读取的配置信息
3.搭建RabbitMq
安装RabbitMq前需要安装erlang
4.创建Eureka注册中心
5.搭建Config-Server
(1) 引用Maven依赖
(2).引用application.yml配置信息###服务注册到eureka地址
其中
cloud:
config:
server:
git:
###git环境地址
uri: https://gitee.com/zcggit/study.git 代表git的地址
force-pull: true 代表强制从git上强制拉取覆盖本地 我找这个错就找了一下午
####搜索目录
search-paths:- config git上的搜索路径
label: master 从git的主干上读取
(3)。建立启动类
读取配置文件http://127.0.0.1:8763/configclient-dev.yml,如果能够访问成功,证明搭建成功 如图所示:
6.搭建Config-Client
(1)引用Maven依赖
(2)bootstrap.yml配置代码
这里客户端的配置名为bootstrap.yml 这里有坑 因为Springboot在Spring启动前就bootstrap.yml,然后再加载application.yml文件
(3)编写config-Client的类
其中@RefreshScope代表 如果代码中需要动态刷新配置,在需要的类上加上该注解就行
搭建完成 访问http://localhost:8882/getUserName 就可以读取配置上的文件 如图所示:
当修改git上的配置文件时,使用postman请求http://127.0.0.1:8882/actuator/bus-refresh 即可将所有的configClient的相关配置修改,重新访问即可得到配置文件的最新配置 如图所示:
如果有疑问,请加我QQ:1051980588 一起探讨学习。我会把所有代码上传到gt上 自行下载 看看