天天看点

SpringCloud入门学习笔记6--Spring Cloud Config 配置中心

一、Spring Cloud Config简介

在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud config 组件中,分两个角色,一是config server,二是configclient。

Config Server是一个可横向扩展、集中式的配置服务器,它用于集中管理应用程序各个环境下的配置,默认使用Git存储配置文件内容,也可以使用SVN存储,或者是本地文件存储。

Config Client是Config Server的客户端,用于操作存储在Config Server中的配置内容。

Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。方便部署与运维。微服务在启动时会请求Config Server获取配置文件的内容,请求到后再启动容器。

优点:

  • 集中管理配置文件
  • 不同环境不同配置,动态化的配置更新
  • 运行期间,不需要去服务器修改配置文件,服务会想配置中心拉取自己的信息
  • 配置信息改变时,不需要重启即可更新配置信息到服务
  • 配置信息以 rest 接口暴露

 二、配置中心实现

2.1 将配置文件提交到码云

(1)浏览器打开gitee.com,注册用户 ,注册后登陆码云管理控制台

(2)创建项目 “你的项目名” (点击右上角的加号 ,下拉菜单选择创建项目)

(3)上传配置文件,将demo_base工程的application.yml改名为base-dev.yml后上传到仓库

SpringCloud入门学习笔记6--Spring Cloud Config 配置中心

(4) 点击克隆/下载按钮 复杂链接地址  备用

 2.2 配置服务端

(1)右键点击父工程>new>module创建demo_config模块

(2)pom.xml引入依赖

<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>
    </dependencies>
           

(3)编写配置文件application.yml,uri 处填写之前复制的链接地址

server:
  port: 9999
spring:
  application:
    name: demo-config
  cloud:
    config:
      server:
        git:
          uri: https://gitee.com/kannaoku0/springcloud_demo.git
          username: 你的账号  #如果建立的仓库是公开的,则不需要设置账户和密码
          password: 你的密码
           

(4)创建启动类ConfigServerApplication,添加注解 @EnableConfigServer

SpringCloud入门学习笔记6--Spring Cloud Config 配置中心

 (5)启动demo_config,浏览器输入 http://localhost:9999/base-dev.yml,能够看到配置内容

SpringCloud入门学习笔记6--Spring Cloud Config 配置中心

 到此,我们的服务端demo_config就配置完成了,接下来配置客户端

2.3 配置客户端

(1)在demo_base工程pom.xml添加依赖

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>
           

(2)resources目录下新建 bootstrap.yml,并删除原来的 application.yml

SpringCloud入门学习笔记6--Spring Cloud Config 配置中心

配置中的 name: base profile: dev label: master是和git上面的目录对应起来的

SpringCloud入门学习笔记6--Spring Cloud Config 配置中心

(3)测试   依次启动 Eureka,demo_config再启动demo_base ,按之前的方式访问,浏览器输入 http://localhost:9001/test/111

SpringCloud入门学习笔记6--Spring Cloud Config 配置中心

再次观察demo_based的配置文件,并没有端口,服务名等,说明在启动时他是通过demo_config 从Git上面将配置文件获取到了,自此,我们的配置中心  Spring Cloud Config 配置成功。

SpringCloud入门学习笔记6--Spring Cloud Config 配置中心

 下一篇:消息中间件RabbitMQ

继续阅读