spring cloud config配置中心

在一个基于微服务的在分布式系统中,业务非常的繁多,划分的微服务数量也特别的多,每个服务都有相应的配置,除了项目运行的基础配置之外,还有一些配置是与我们业务有关系的,比如说SSO存储.短信相关、邮件相关,或者一些业务上的开关。如果这么多的服务配置都单独管理的话那将是令人崩溃的一件事,所以如何能够对微服务中的配置文件做到统一集中管理、服务配置修改后无需重启就变得非常的迫切,为了解决这样的问题就需要分布式配置中心组件。
市场上的开源的配置中心有很多,如奇虎360的QConf、淘宝的diamond、百度的disconf、携程的 Apollo都是解决这类问题,在Spring Cloud中提供的配置中心组件就是Spring cloud Config了

Spring Cloud Config组件支持配置服务放在本地内存中,也支持放在远程Git或svn仓库中。在SpringCloud Config 中,外部配置主要通过两个角色来完成: 配置服务器Config Server和配置客户端Configclient。Config Server提供配置文件的存储、以接口的形式将配置文件的内容提供出去,Config Client通过接口获取数据、并依据此数据初始化自己的应用。通过对Config Server和Config Client的配置就可以很好地对服务进行集中管理。如图:

Config Server:

Config Server是一个集中式的配置服务器,它提供配置文件的存储配置,支持本地仓库读取配置也支持远程git或svn读取存储配置,默认为git存储配置;然后以接口的形式将配置文件的内容提供出去,主要有一下功能:

  • 提供用于外部配置的基于HTTP资源的AP
  • 对配置文件的属性进行加密和解密
  • 可轻松地使用@EnableConfigServer注解应用到Spring Boot程序中

Config Client:

Config Client 是Config Server的客户端,可以通过API接口获取Config Server 端存储的配置属性,并依据此数据初始化自己的应用,主要功能如下:

  • 绑定到Config Server并使用远程属性源初始化Spring容器
  • 对配置文件中的属性进行加密和解密

实现Config Server 从本地仓库读取配置文件:

本地仓库存储配置主要用于我们开发环境中的开发和调试使用,发布线上了我们就使用远程git仓库存储配置,这样我们就可以设置一个多环境配置,在本地与线上配置间来回切换。

1.搭建配置中心config server

创建一个基于springboot项目的module “config-server”配置中心,考虑到我们configserver高可用我们需要把“confioserver”注册到ureka Server中

2.添加config-server和eureka-client依赖;

 

3.在application.ym[中配置config信息: 

4.在本地磁盘中创建配置文件

 

这里配置文件的命名规则: [application]-[profile].properties,配置内容如下 

5.在启动类中添加@EnableConfigServer注解开启ConfigServer

 

6.搭建config client

其实Config Client是配置在各个业务服务项目中的,这里我们新创建一个“config-client'
微服务来连接并测试 config server。

在resource目录下创建bootstrap.yml,一定是bootstrap.yml因为bootstrap.yml的加载顺序会优先于application.yml。(这里注意下springCloud和springboot的版本,不然client无法加载bootstrap.yml文件) 

在启动类中(也可以是其他的Controller中) 添加获取请求的数据 

启动测试:

 

 

Config Server从git仓库中读取配置文件。

 

 config server如果从git仓库读取配合文件的话,需要我们再git上创建一个仓库“config”,仓库如果是公开的则配置git信息的时候不需要账号密码,如果是私有的仓库则需要配置账号密码或者密钥访问。

 

git仓库的方式跟本地其他基本上都一样,只是配置文件要从git获取,所以需要修改下ConfigServer的配置和Config Client端的配置信息。 

config server配置如下:

config client配置如下:

测试:

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值