在使用spring cloud 构建分布式系统的过程中,为了完成多个服务的配置统一管理,使用了spring cloud config作为配置中心,管理所有微服务的系统配置。在分布式系统中,配置中心是一个独立的服务部件,作用是专门为其他服务提供系统启动所需的配置信息,保证系统正确启动。高可用配置中心的基本思路是将我们的配置服务交给注册中心, 依赖注册中心的多节点服务保证注册的高可用.
注册中心
注册中心地址
1 | http://admin:pwd123@node1.test.com:8001/eureka/,http://admin:pwd123@node1.test.com:8002/eureka/,http://admin:pwd123@node3.test.com:8003/eureka/ |
GIT仓库
地址说明
- 仓库地址: https://gitee.com/test/spring-eureka
- 默认分之: master
- 配置文件: config-property
文件结构
1 | config-property |
注册配置中心
示例展示如何搭建高可用的配置中心
工程结构
1 | config-provider |
Maven配置
1 | <dependencies> |
主类示例
@EnableConfigServer
启用配置中心功能@EnableDiscoveryClient
将示例注册到注册中心
1 |
|
配置说明
1 | spring.application.name=config-center |
参数说明
- spring.cloud.config.server.git.uri: 远程git仓库的位置
- spring.cloud.config.server.git.search-paths: git仓库下配置文件存放的相对路径
- spring.cloud.config.server.git.username: git地址的访问账号
- spring.cloud.config.server.git.password: git地址的访问密码
- eureka.client.service-url.defaultZone: 注册中心地址
启动实例
1 | [root@localhost target ]$ java -jar config-provider-1.0-SNAPSHOT.jar --server.port=7501 & |
注册效果
查看配置
开发环境
1 | [root@localhost target ]$ curl http://192.168.0.106:7502/application/develop/master | python -m json.tool |
线上环境
1 | [root@localhost target ]$ curl http://192.168.0.106:7502/application/product/master | python -m json.tool |
读取配置文件
示例展示如何实现对已经搭建好的配置中心的信息读取
工程结构
1 | config-consumer |
Maven依赖
1 | <dependencies> |
主类示例
@EnableDiscoveryClient
将示例注册到注册中心
1 | @EnableDiscoveryClient |
注册效果
启动示例,查看注册效果