Config分布式配置中心简介
- (1)分布式配置中心是什么?
是SpringCloud提供的方便配置文件集中管理组件 - (2)分布式配置中心有什么用?
分布式系统中,由于服务数量非常多,配置文件分散在不同的微服务项目中
,管理不方便
可以通过修改在git仓库
中的配置文件实现其它所有微服务的配置文件的修改。
》支持配置文件放在配置服务的本地
》支持放在远程Git仓库(GitHub、码云)
搭建配置中心微服务
- (1)创建Git仓库 存配置文件
- (2)创建配置文件
{application}-{profile}.yml 或 {application}-{profile}.properties
- (3)创建配置中心工程
- (4)依赖 config-server eureka
- (5)设置git uri 与 eureka
- (6)启动类 开启配置服务
- (7)启动,直接访问测试,修改访问测试
git 仓库
git上配置文件的命名
application为应用名称
profile用于区分开发环境dev,测试环境test、生产环境等product
如user-dev.yml,表示用户微服务开发环境下使用的配置文件
config-server pom.xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
application.properties
spring.application.name=demo05-config-center-server
server.port=1200
eureka.client.service-url.defaultZone=http://127.0.0.1:10086/eureka
spring.cloud.config.server.git.uri=https://gitee.com/hadoop101/spring-cloud-config.git
main
@SpringBootApplication
@EnableConfigServer//开启配置服务
public class Demo05ConfigServerApplication
测试
http://localhost:1200/demo01_provider_user_8001-dev.properties
provider获取配置中心配置
- (1)改造用户微服务,配置文件信息不再由微服务项目提供,而是从配置中心获取
- (2)步骤
》删除 本地 application.properties文件
》依赖启动器
》添加 bootstrap.properties
》启动 - (3)bootstrap文件介绍
bootstrap.yml文件相当于项目启动时的引导文件,内容相对固定。application.yml文件是微服务的一些常规配置参数,变化比较频繁。
pom.xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
boostrap
#demo01_provider_user_8001-dev.properties.
# # 要与仓库中的配置文件的application保持一致
spring.cloud.config.name=demo01_provider_user_8001
# # 要与仓库中的配置文件的profile保持一致
spring.cloud.config.profile=dev
# 要与仓库中的配置文件所属的版本(分支)一样
spring.cloud.config.lable=master
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.service-id=demo05-config-center-server
eureka.client.service-url.defaultZone=http://127.0.0.1:10086/eureka