配置中心主要解决微服务数量多了之后的公共配置文件问题,比如通用配置列表之类,数据库,三方件连接参数之类。
配置中心分为服务端(可集群)和客户端
服务端:
引入服务端依赖
<dependencies>
<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>
</dependencies>
yml配置文件:注册服务以及配置配置中心仓库地址
配置文件都放在远程仓库目录下,远程仓库分为git/svn,也可以使用本地仓库 (native)
我的远程仓库使用gitee ,
服务启动类增加注解
客户端:
引入依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.3.23</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<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-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<!-- 配置中心重试-->
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<!-- 动态更新用于配置中心更新配置文件后,客户端动态更新-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
启动类增加注解启动配置
application.yml配置文件改成bootstrap.yml 加载顺序 bootstrap》application,但是要引入bootstrap依赖才能使用
下图中参数:表明从configModel服务(配置中心)中获取配置文件 userModel-2-dev.yml
如果使用url表示从具体的单机节点上取配置文件
使用discover则是从服务configModel(节点群)取配置文件
userModel-2-dev.yml就是我要测试的配置文件 作为微服务8404服务要加载的配置文件
8404服务开了一个rest服务看是否能取到配置的值
测试:
成功取到配置中心的配置数据
测试二:
仓库中的配置文件会被转换成web接口,访问可以参照以下的规则:
- /{application}/{profile}[/{label}]
- /{application}-{profile}.yml
- /{label}/{application}-{profile}.yml
- /{application}-{profile}.properties
- /{label}/{application}-{profile}.properties
以userModel-2-dev.yml为例子,它的application是userModel-2,profile是dev。client会根据填写的参数来选择读取对应的配置。
当配置了配置中心后可以直接通过url访问配置中心的配置文件
标签:配置文件,springcloud,配置,springframework,spring,org,config,yml,cloud From: https://www.cnblogs.com/UUUz/p/18251234