目錄
一、簡介
從這篇開始總結配置中心,打算分以下內容總結完成
《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來區分版本