1.版本说明:SpringBoot版本为 2.1.3.RELEASE,SpringCloud版本为 Greenwich.SR1
2.需要先配置Eureka,因为服务需要从Eureka获取Config配置中心的数据,另一方面Config需要搭建集群做到高可用
1. Config服务端搭建
1.1 pom配置
<!--============================================CONFIG========================================-->
<!--config服务端依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<!--============================================EUREKA========================================-->
<!--eureka客户端依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
1.2 application.properties配置
#端口号
server.port=10001
#服务名称
spring.application.name=config-server
#-------------------------------------------------GIT-------------------------------------------------
#git仓库地址
spring.cloud.config.server.git.uri=https://github.com/137724485/SpringCloud-ConfigCenter/
#git仓库下的相对地址
spring.cloud.config.server.git.search-paths=config
#用户名和密码
spring.cloud.config.server.git.username=******
spring.cloud.config.server.git.password=******
#------------------------------------------------EUREKA---------------------------------------------
#eureka注册地址
eureka.client.serviceUrl.defaultZone=http://localhost:8001/eureka,http://localhost:8002/eureka
#通过ip注册
eureka.instance.prefer-ip-address=true
eureka.instance.instance-id=${spring.cloud.client.ip-address}:${server.port}
1.3 主启动类配置
@EnableDiscoveryClient //让注册中心扫描本服务
@EnableConfigServer //开启配置中心服务端
1.4 检测是否配置成功
以1.2为列,在github创建了SpringCloud-ConfigCenter仓库,并且在仓库下创建了config文件夹;
假设config文件夹下有一个cloud-consumer-dev.properties的配置文件,它的application是cloud-consumer,profile是dev
那么,我们访问 http://localhost:ip/cloud-consumer/dev 就可以得到数据,以此来做验证是否配置成功
2. Config客户端搭建
2.1 pom配置
<!--=====================================CONFIG================================-->
<!--config客户端依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
2.2 bootstrap.properties配置
bootstrap.properties优于application.properties加载,服务在启动的时候需要加载配置中心的内容,所以config客户端的配置要写在bootstrap.properties中,其他的可以写在application.properties中
#-------------------------------------------------EUREKA----------------------------------------------
#从eureka获取配置中心服务
eureka.client.serviceUrl.defaultZone=http://localhost:8001/eureka,http://localhost:8002/eureka
#-------------------------------------------------CONFIG----------------------------------------------
#开启config服务发现支持
spring.cloud.config.discovery.enabled=true
#指定配置中心的服务名称
spring.cloud.config.discovery.service-id=config-server
#config-server端的application部分
spring.cloud.config.name=cloud-config
#config-server端的profile部分
spring.cloud.config.profile=dev
#git分支
spring.cloud.config.label=master