51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2029|回复: 0
打印 上一主题 下一主题

springCloud微服务系列——配置中心第一篇——配置管理策略

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-2-11 16:45:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
策略
springCloud给我们提供了一套管理配置的技术方案,我们需要有自己的管理思路,才能很好的实现配置的管理。


不同的项目
我们这里采用的是github进行配置文件的存放,服务启动的时候,通过配置中心服务,将相应的配置文件拉回到本地服务。接下来讨论一下配置文件的细节,首先我们所有的配置文件肯定是在一个git仓库中,这是一个大前提。然后我们可能会有很多的项目,每个项目有很多的服务,它们拥有不同的配置文件。为了区分项目,我们可以在git仓库的根目录下,建立多个文件夹,每个文件夹用项目名命名



为了能找到相应项目文件夹,我们需要在配置中心服务中配置searchPaths
  1. spring:
  2.   application:
  3.     name: config-server
  4.   cloud:
  5.     config:
  6.       server:
  7.        git:
  8.         uri: https://github.com/wulinfeng2/serverConfig
  9.         searchPaths: aciv-cf
  10.         clone-on-start: true
  11.         force-pull: true
复制代码

配置文件复用

我们把该项目需要的配置全部放到相应的项目文件夹中,为了复用,我们可以进行比较细粒度的分类,比如关系数据库的配置文件,内存数据库的配置文件,消息队列的配置文件等,通过{描述}-{环境}.yml的命名方式进行区分配置文件类型和环境。


客户端通过配置name加载所需要的配置文件,在name中不需要指定环境信息,环境会根据profile的配置自动选择

  1. spring:   
  2.   profiles:
  3.     active:
  4.     - dev
  5.   cloud:
  6.     config:
  7.       uri: http://192.168.2.104:8868
  8.       name: authentication,eureka,user-db,redis,cache
  9.       label: master
  10.       failFast: true
  11.       retry:
  12.         max-attempts: 6
复制代码


版本管理

我们可以加入版本控制,将软件的版本和配置文件的版本关联起来。做法也很简单,使用github的label作为版本号,比如之前的例子,label为master,我们也可以制作诸如V1.0.0,V2.0.0这样的label来区分版本


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-25 01:36 , Processed in 0.062593 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表