前言
接着springcloud微服务_01继续开发
此篇博客主要是进行springcloud config分布式配置中心和GitHub集成的操作。
一、springcloud config分布式配置中心操作
1、创建一个分布式配置中心的服务端子模块。aigou_config_server_8848
2、在GitHub上创建一个配置库repository配置文件aigou_config
(1)、在GitHub上创建一个平台的配置文件。aigou_config
(2)根据上面GitHub的配置URL路径,clone下项目文件,将配置好的配置文件plat_application.yml 上传commit&push到GitHub中去
- 平台配置文件。plat_application.yml
spring:
profiles:
active:
- dev
---
server:
port: 8001
spring:
profiles: dev #开发环境
application:
name: USER-PROVIDER
eureka:
client:
service-url:
defaultZone: http://eureka-7001.com:7001/eureka #告诉服务提供者要把服务注册到哪儿 #单机环境
instance:
prefer-ip-address: true #显示客户端真实ip
---
server:
port: 8847
spring:
profiles: test #测试环境
application:
name: USER-PROVIDER-TEST
eureka:
client:
service-url:
defaultZone: http://eureka-7001.com:7001/eureka #告诉服务提供者要把服务注册到哪儿 #单机环境
instance:
prefer-ip-address: true #显示客户端真实ip
3、配置中心的服务端配置。aigou_config_server_8848
(1)在pom.xml中引入依赖
<dependencies>
<!--springboot支持-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<!--eureka客户端-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!--配置中心支持-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
</dependencies>
(2)YAML配置。application.yml配置文件
需要GitHub的用户名、密码以及GitHub中配置文件的路径地址
(3)创建一个启动类
@SpringBootApplication
@EnableEurekaClient
@EnableConfigServer //启动配置服务端
public class ConfigApplication8848 {
public static void main(String[] args) {
SpringApplication.run(ConfigApplication8848.class);
}
}
4、配置客户端。(此项目暂时就配置一个:8001服务提供者aigou_plat_service)
Eureka注册中心,配置中心服务端configserver不需要,其他的都是客户端
(1)将项目平台服务层的aigou_plat_parent中的子模块aigou_plat_service,端口号是8001中的YAML配置文件名有application.yml改为bootstrap.yml
(2)bootstrap.yml配置
spring:
cloud:
config:
name: plat_application #github上面名称
profile: dev #环境,对应GitHub上平台配置文件配置的开发环境
label: master #分支
uri: http://localhost:8848 #配置服务器
- 说明一波:
更改了原来的配置信息。看前言博客链接就能发现。之前没有将各自配置统一配置到配置中心,而这次是统一配置了的。在GitHub中上传的平台配置文件plat_application.yml中都已经配置好了。所以自己服务的配置文件就只需要引用GitHub上的就行。
(3)aigou_plat_service的pom.xml中要引入config的依赖
<!--配置中心支持-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
(4)测试是否达到预期效果。先后启动注册中心7001、配置中心服务端8848、服务提供者8001
在浏览器地址栏输入地址:http://localhost:7001 代表GitHub中的平台配置文件好使