由于Spring Cloud Config默認(rèn)采用了Git存儲,相信很多團(tuán)隊(duì)在使用Spring Cloud的配置中心時也會采用這樣的策略。即便大家都使用了Git存儲冲九,可能還有各種不同的配置方式汗销,本文就來介紹一下兩種常用的配置策略。
第一種:多個項(xiàng)目公用一個Git倉庫梢为,用不同的目錄區(qū)分項(xiàng)目(推薦)
主要的配置項(xiàng)如下:
spring.cloud.config.server.git.uri=https://github.com/wcc56893/config-repo.git
spring.cloud.config.server.git.search-paths=/{profile}
這種模式下不同的項(xiàng)目會對應(yīng)到https://github.com/wcc56893/config-repo.git倉庫下的不同目錄渐行,如果項(xiàng)目中spring.application.name=user-service轰坊,那么它的配置倉庫會定位到https://github.com/wcc56893/config-repo.git倉庫下的profile目錄。配置文件按application-{profile}.properties的格式存儲祟印,{profile}代表環(huán)境名肴沫。
ps:profile就是用來區(qū)分環(huán)境的,development蕴忆,test,production等颤芬。https://github.com/wcc56893/config-repo.git遠(yuǎn)程倉庫下的目錄結(jié)構(gòu)就是development,test,production,在某個環(huán)境文件夾下又區(qū)分微服務(wù)項(xiàng)目套鹅,比如在test下又有很多項(xiàng)目的測試環(huán)境的配置文件站蝠,比如:application1-test.yml, application2-test.yml等。
優(yōu)缺點(diǎn)分析:因?yàn)橹皇褂靡粋€Git庫存儲卓鹿,所以當(dāng)配置是由專人統(tǒng)一維護(hù)的時候比較方便菱魔。但是如果要做DevOps的話,權(quán)限控制上將變的非常的弱吟孙。
第二種:多個項(xiàng)目使用多個不同Git倉庫
主要的配置項(xiàng)如下:
spring.cloud.config.server.git.uri=https://github.com/wcc56893/{application}.git
這種模式下不同的項(xiàng)目會對應(yīng)的不同的Git倉庫澜倦,如果項(xiàng)目中spring.application.name=user-service,那么它的配置倉庫會定位到https://github.com/wcc56893/user-service.git倉庫下的配置拔疚。配置文件按application-{profile}.properties的格式存儲肥隆,{profile}代表環(huán)境名。
優(yōu)缺點(diǎn)分析:由于一個項(xiàng)目就有一個對應(yīng)的存儲配置的Git倉庫稚失,所以這種模式對于DevOps的應(yīng)用支持較好栋艳,如果使用Gitlab作為Git服務(wù)端的話,還有不錯的界面和權(quán)限管理來方便項(xiàng)目所屬者使用和維護(hù)句各。如果團(tuán)隊(duì)不是DevOps模式管理的話吸占,專人管理就會遇到有N多Git倉庫要維護(hù)的困境。