SpringCloud的分布式配置及消息总线

 

1.在搭建分布式配置时,我们大概看下分布式配置的流程 如图所示:

SpringCloud的分布式配置及消息总线_第1张图片

当一个系统中的配置文件发生改变的时候,我们需要重新启动该服务,才能使得新的配置文件生效,spring cloud config可以实现微服务中的所有系统的配置文件的统一管理,而且还可以实现当配置文件发生变化的时候,系统会自动更新获取新的配置。目前目前springCloud仅支持RabbitMQ和Kafka ,我采用的市RabbitMQ搭建

2.搭建git地址

在流程中 首先我们应该在git或者码云上创建一个文件夹来专门获取配置 如图所示:

SpringCloud的分布式配置及消息总线_第2张图片

我的git地址:https://gitee.com/zcggit/study/,其中config专门来放置远程读取的配置信息

3.搭建RabbitMq

安装RabbitMq前需要安装erlang  

SpringCloud的分布式配置及消息总线_第3张图片  无脑下一步即可

 

4.创建Eureka注册中心

SpringCloud的分布式配置及消息总线_第4张图片

pom.xml引用SpringCloud的分布式配置及消息总线_第5张图片

5.搭建Config-Server

(1) 引用Maven依赖


4.0.0
zcg.springcloud.com
springcloud-configServer
0.0.1-SNAPSHOT

org.springframework.boot
spring-boot-starter-parent
2.0.2.RELEASE




org.springframework.cloud
spring-cloud-bus-parent
2.0.0.RC2
pom
import





org.springframework.boot
spring-boot-starter-web



org.springframework.cloud
spring-cloud-config-server
2.0.2.RELEASE



org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
2.0.2.RELEASE



org.springframework.cloud
spring-cloud-starter-bus-amqp



org.springframework.boot
spring-boot-starter-actuator





spring-milestones
Spring Milestones
https://repo.spring.io/libs-milestone

false


(2).引用application.yml配置信息###服务注册到eureka地址

SpringCloud的分布式配置及消息总线_第6张图片

SpringCloud的分布式配置及消息总线_第7张图片

其中

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)。建立启动类

SpringCloud的分布式配置及消息总线_第8张图片

 

读取配置文件http://127.0.0.1:8763/configclient-dev.yml,如果能够访问成功,证明搭建成功 如图所示:SpringCloud的分布式配置及消息总线_第9张图片

 

6.搭建Config-Client

(1)引用Maven依赖


4.0.0
zcg.springcloud.com
springcloud-configClient
0.0.1-SNAPSHOT


org.springframework.boot
spring-boot-starter-parent
2.0.1.RELEASE




org.springframework.cloud
spring-cloud-bus-parent
2.0.0.RC2
pom
import







org.springframework.boot
spring-boot-starter-web


org.springframework.cloud
spring-cloud-config-client
2.0.2.RELEASE



org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
2.0.2.RELEASE



org.springframework.cloud
spring-cloud-starter-bus-amqp



org.springframework.boot
spring-boot-starter-actuator





spring-milestones
Spring Milestones
https://repo.spring.io/libs-milestone

false




(2)bootstrap.yml配置代码

SpringCloud的分布式配置及消息总线_第10张图片

 

 SpringCloud的分布式配置及消息总线_第11张图片

 

这里客户端的配置名为bootstrap.yml  这里有坑  因为Springboot在Spring启动前就bootstrap.yml,然后再加载application.yml文件

(3)编写config-Client的类

SpringCloud的分布式配置及消息总线_第12张图片

SpringCloud的分布式配置及消息总线_第13张图片

其中@RefreshScope代表  如果代码中需要动态刷新配置,在需要的类上加上该注解就行

搭建完成  访问http://localhost:8882/getUserName  就可以读取配置上的文件 如图所示:

SpringCloud的分布式配置及消息总线_第14张图片

 

当修改git上的配置文件时,使用postman请求http://127.0.0.1:8882/actuator/bus-refresh  即可将所有的configClient的相关配置修改,重新访问即可得到配置文件的最新配置 如图所示:SpringCloud的分布式配置及消息总线_第15张图片

如果有疑问,请加我QQ:1051980588  一起探讨学习。我会把所有代码上传到gt上  自行下载 看看

 

你可能感兴趣的:(SpringCloud的分布式配置及消息总线)