目录
一、简介
从这篇开始总结配置中心,打算分以下内容总结完成
《springCloud微服务系列——配置中心第一篇——配置管理策略》
《springCloud微服务系列——配置中心第二篇——简单搭建》
《springCloud微服务系列——配置中心第三篇——安全加固》
《springCloud微服务系列——配置中心第四篇——手动刷新》
《springCloud微服务系列——配置中心第五篇——自动刷新》
二、策略
springCloud给我们提供了一套管理配置的技术方案,我们需要有自己的管理思路,才能很好的实现配置的管理。
-
不同的项目
我们这里采用的是github进行配置文件的存放,服务启动的时候,通过配置中心服务,将相应的配置文件拉回到本地服务。接下来讨论一下配置文件的细节,首先我们所有的配置文件肯定是在一个git仓库中,这是一个大前提。然后我们可能会有很多的项目,每个项目有很多的服务,它们拥有不同的配置文件。为了区分项目,我们可以在git仓库的根目录下,建立多个文件夹,每个文件夹用项目名命名
为了能找到相应项目文件夹,我们需要在配置中心服务中配置searchPaths
spring:
application:
name: config-server
cloud:
config:
server:
git:
uri: https://github.com/wulinfeng2/serverConfig
searchPaths: aciv-cf
clone-on-start: true
force-pull: true
-
配置文件复用
我们把该项目需要的配置全部放到相应的项目文件夹中,为了复用,我们可以进行比较细粒度的分类,比如关系数据库的配置文件,内存数据库的配置文件,消息队列的配置文件等,通过{描述}-{环境}.yml的命名方式进行区分配置文件类型和环境。
客户端通过配置name加载所需要的配置文件,在name中不需要指定环境信息,环境会根据profile的配置自动选择
spring:
profiles:
active:
- dev
cloud:
config:
uri: http://192.168.2.104:8868
name: authentication,eureka,user-db,redis,cache
label: master
failFast: true
retry:
max-attempts: 6
-
版本管理
我们可以加入版本控制,将软件的版本和配置文件的版本关联起来。做法也很简单,使用github的label作为版本号,比如之前的例子,label为master,我们也可以制作诸如V1.0.0,V2.0.0这样的label来区分版本