Spring Cloud Config採用Git儲存時兩種常用的配置策略

程式猿DD發表於2018-07-26

由於Spring Cloud Config預設採用了Git儲存,相信很多團隊在使用Spring Cloud的配置中心時也會採用這樣的策略。即便大家都使用了Git儲存,可能還有各種不同的配置方式,本文就來介紹一下兩種常用的配置策略。

第一種:多個專案公用一個Git倉庫,用不同的目錄區分專案

主要的配置項如下:

spring.cloud.config.server.git.uri=https://github.com/dyc87112/config-repo.git
spring.cloud.config.server.git.search-paths=/{application}

這種模式下不同的專案會對應到https://github.com/dyc87112/config-repo.git倉庫下的不同目錄,如果專案中spring.application.name=user-service,那麼它的配置倉庫會定位到https://github.com/dyc87112/config-repo.git倉庫下的/user-service目錄。配置檔案按application-{profile}.properties的格式儲存,{profile}代表環境名。

優缺點分析:因為只使用一個Git庫儲存,所以當配置是由專人統一維護的時候比較方便。但是如果要做DevOps的話,許可權控制上將變的非常的弱。

第二種:多個專案使用多個不同Git倉庫

主要的配置項如下:

spring.cloud.config.server.git.uri=https://github.com/dyc87112/{application}.git

這種模式下不同的專案會對應的不同的Git倉庫,如果專案中spring.application.name=user-service,那麼它的配置倉庫會定位到https://github.com/dyc87112/user-service.git倉庫下的配置。配置檔案按application-{profile}.properties的格式儲存,{profile}代表環境名。

優缺點分析:由於一個專案就有一個對應的儲存配置的Git倉庫,所以這種模式對於DevOps的應用支援較好,如果使用Gitlab作為Git服務端的話,還有不錯的介面和許可權管理來方便專案所屬者使用和維護。如果團隊不是DevOps模式管理的話,專人管理就會遇到有N多Git倉庫要維護的困境。

本文的主要介紹內容就到這裡,不知道您採用了哪種配置儲存策略呢?如果有更好的方案歡迎留言分享!最後,正式向大家介紹一下最近緊鑼密鼓開發和測試中的配置中心開源專案。該專案基於Spring Cloud Config構建,旨在實現一套方便大家對配置管理的視覺化工具,增強Spring Cloud Config的易用性,該專案即適用於目前已經在使用spring cloud config的使用者,也適用於正在選型配置中心的使用者,小哥哥小姐姐們可以戳下面的連結瞭解一下,如果覺得不錯,歡迎轉發、Star支援!

P.S. 主要維護在Github,Gitee定期同步。

相關文章