Spring Cloud Config采用Git存儲時兩種常用的配置策略
由于Spring Cloud Config默認采用了Git存儲,相信很多團隊在使用Spring Cloud的配置中心時也會采用這樣的策略。即便大家都使用了Git存儲,可能還有各種不同的配置方式,本文就來介紹一下兩種常用的配置策略。
第一種:多個項目公用一個Git倉庫,用不同的目錄區(qū)分項目
主要的配置項如下:
- spring.cloud.config.server.git.uri=https://github.com/dyc87112/config-repo.git
- spring.cloud.config.server.git.search-paths=/{application}
這種模式下不同的項目會對應(yīng)到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}代表環(huán)境名。
優(yōu)缺點分析:因為只使用一個Git庫存儲,所以當配置是由專人統(tǒng)一維護的時候比較方便。但是如果要做DevOps的話,權(quán)限控制上將變的非常的弱。
第二種:多個項目使用多個不同Git倉庫
主要的配置項如下:
- spring.cloud.config.server.git.uri=https://github.com/dyc87112/{application}.git
這種模式下不同的項目會對應(yīng)的不同的Git倉庫,如果項目中spring.application.name=user-service,那么它的配置倉庫會定位到https://github.com/dyc87112/user-service.git倉庫下的配置。配置文件按application-{profile}.properties的格式存儲,{profile}代表環(huán)境名。
優(yōu)缺點分析:由于一個項目就有一個對應(yīng)的存儲配置的Git倉庫,所以這種模式對于DevOps的應(yīng)用支持較好,如果使用Gitlab作為Git服務(wù)端的話,還有不錯的界面和權(quán)限管理來方便項目所屬者使用和維護。如果團隊不是DevOps模式管理的話,專人管理就會遇到有N多Git倉庫要維護的困境。
本文的主要介紹內(nèi)容就到這里,不知道您采用了哪種配置存儲策略呢?如果有更好的方案歡迎留言分享!最后,正式向大家介紹一下最近緊鑼密鼓開發(fā)和測試中的配置中心開源項目。該項目基于Spring Cloud Config構(gòu)建,旨在實現(xiàn)一套方便大家對配置管理的可視化工具,增強Spring Cloud Config的易用性,該項目即適用于目前已經(jīng)在使用spring cloud config的用戶,也適用于正在選型配置中心的用戶,小哥哥小姐姐們可以戳下面的鏈接了解一下,如果覺得不錯,歡迎轉(zhuǎn)發(fā)、Star支持!
Github: https://github.com/dyc87112/spring-cloud-config-admin
Gitee:https://gitee.com/didispace/spring-cloud-config-admin
P.S. 主要維護在Github,Gitee定期同步。
【本文為51CTO專欄作者“翟永超”的原創(chuàng)稿件,轉(zhuǎn)載請通過51CTO聯(lián)系作者獲取授權(quán)】