项目代码地址:
https://gitee.com/xuluj/springcloud-config-demo.git
开发环境:
- 开发工具:Intellij IDEA 2018.3.2
- springboot: 2.1.2
- jdk:1.8.0_172
- maven:3.5.4
步骤
-
1.Git环境搭建
使用码云环境搭建git服务器端
码云环境地址:
https://gitee.com/xuluj/SpringCloud-config.git
- 2.使用 IDEA建立一个maven项目
-
3.在此maven项目中搭建eureka注册中心
3.1 在maven项目上右键,依次选择 New-->Model3.2项目结构如下
3.3 application.yml文件配置
#服务端口号
server:
port: 8020
eureka:
instance:
#注册到eureka ip地址
hostname: 127.0.0.1
client:
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
#自己是注册中心,不需要注册自己
register-with-eureka: false
#自己是注册中心,不需要检索服务
fetch-registry: false3.4 eureka注册中心启动类添加
@EnableEurekaServer注解
3.5 eureka服务启动类右键,选择run或者debug运行
3.6 服务启动完毕,浏览器输入localhost:8020 (注:8020为application.yml配置文件配置的服务端口号,至此springcloud config注册中心搭建完毕)
- 4.在此maven项目中搭建springcloud config服务端
4.1 在maven项目上右键,依次选择 New-->Model
4.2 项目结构如下
4.3 application.yml文件配置:
#服务注册到eureka地址
eureka:
client:
service-url:
defaultZone: http://localhost:8020/eureka
spring:
application:
#注册中心应用名称
name: config-service
cloud:
config:
server:
git:
###git环境地址
uri: https://gitee.com/xuluj/SpringCloud-config.git
####搜索目录
search-paths:
- config
####读取分支
label: master
####端口号
server:
port: 80304.4springcloud config服务端启动类:
4.5 启动服务
4.6 服务启动完毕,浏览器输入localhost:8020 (注:8020为application.yml配置文件配置的服务端口号,至此springcloud config服务端搭建完毕)
-
5.springcloud config客户端搭建
5.1同上4.1,在maven项目右键, 依次选择 New-->Model-->Next-->Next5.2项目结构如下:
5.3 bootstrap.yml文件配置:
##配置在application.properties/yml都不行,
##必须是配置在bootstrap.properties/yml里面,否则还是会取本机的8888端口!!!
spring:
application:
#注册中心服务名称,git服务器文件名称必须是:服务名称+读取的后缀,即config-client-dev
name: config-client
cloud:
config:
#读取后缀
profile: dev
discovery:
#读取config-server注册地址
service-id: config-service
#这里必须配置为true,否则还是会取localhost:8888端口
enabled: true
eureka:
client:
service-url:
defaultZone: http://localhost:8020/eureka
server:
port: 8040
#开启监控断点
management:
endpoints:
web:
exposure:
include: "*"5.4 springcloud-config-client服务启动类:
5.5 在springcloud-config-client服务中新建ConfigController读取远程git服务器配置文件内容
5.6 启动springcloud-config-client服务
5.7 服务启动完毕,浏览器输入localhost:8020 (注:8020为application.yml配置文件配置的服务端口号,至此springcloud config客户端端搭建完毕)
5.8 测试读取远程git文件内容:
5.8.1 浏览器输入:localhost:8040/getName
5.8.2 动态刷新数据
在SpringCloud config中有手动刷新配置文件和实时刷新配置文件两种方式。
手动方式采用actuator端点刷新数据
实时刷新采用SpringCloud Bus消息总线(实时刷新耗内存)
actuator端点刷新数据
5.8.2.1 在springcloud-config-client服务中添加Maven依赖信息,重新启动服务
<!-- actuator监控中心 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
5.8.2.2 修改远程git服务器配置文件内容:5.8.2.3 手动刷新接口
Post请求手动刷新(使用postman提交post请求) http://127.0.0.1:8040/actuator/refresh
5.8.2.4 浏览器输入http://localhost:8040/getName
-
6.springcloud config分布式配置中心搭建完毕
注:本人菜鸟一枚,一边学习一边搭建的项目,如有问题请多谅解