草帽路飞UU 发表于 2019-2-11 16:45:05

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来区分版本
页: [1]
查看完整版本: springCloud微服务系列——配置中心第一篇——配置管理策略