由于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支援!
- Github: https://github.com/dyc87112/spring-cloud-config-admin
- Gitee: https://gitee.com/didispace/spring-cloud-config-admin
P.S. 主要維護在Github,Gitee定期同步。