springcloud-config配置中心

配置中心主要解决微服务数量多了之后的公共配置文件问题,比如通用配置列表之类,数据库,三方件连接参数之类。

配置中心分为服务端(可集群)和客户端

服务端:

引入服务端依赖

<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访问配置中心的配置文件

 

测试三:

加载多个配置文件name 直接用, 隔开

 拼接的值来自两个配置文件

 

posted on 2024-06-16 20:57  丶柚子  阅读(1)  评论(0编辑  收藏  举报

导航