51Testing软件测试论坛
标题: springCloud微服务系列——配置中心第一篇——配置管理策略 [打印本页]
作者: 草帽路飞UU 时间: 2019-2-11 16:45
标题: springCloud微服务系列——配置中心第一篇——配置管理策略
策略
springCloud给我们提供了一套管理配置的技术方案,我们需要有自己的管理思路,才能很好的实现配置的管理。
不同的项目
我们这里采用的是github进行配置文件的存放,服务启动的时候,通过配置中心服务,将相应的配置文件拉回到本地服务。接下来讨论一下配置文件的细节,首先我们所有的配置文件肯定是在一个git仓库中,这是一个大前提。然后我们可能会有很多的项目,每个项目有很多的服务,它们拥有不同的配置文件。为了区分项目,我们可以在git仓库的根目录下,建立多个文件夹,每个文件夹用项目名命名
[attach]121642[/attach]
为了能找到相应项目文件夹,我们需要在配置中心服务中配置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的命名方式进行区分配置文件类型和环境。
[attach]121643[/attach]
客户端通过配置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来区分版本
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) |
Powered by Discuz! X3.2 |