java 應用配置的幾個階段,你到哪一步了?

配置作為應用的重要組成部分,往往是應用初始化需要的關鍵依賴。一般來說會經歷如下幾個階段:

第一階段:配置在代碼中

這種情況通常是項目初期或者項目剛開始的時候,無所謂位置,代碼work即可。

第二階段:配置在文件中

當配置零散在代碼各處,維護和檢索變得十分麻煩,或者使用框架,我們會把配置提取出來,固化在文件中。至於具體的文件類型則無所謂,一般有 xml ,property文件,yml等可能。配置文件極有可能是多份。

java 應用配置的幾個階段,你到哪一步了?


第三階段:配置文件區分環境

一個完整的應用,一般有多套環境,可能多到 開發,測試,預發佈,正式,甚至演示環境。數據庫,緩存,各種中間件,RPC和http接口,各種開關均有不同配置。

所以我們可以選擇將配置與環境綁定。

恰好主流的框架都支持這套思路,

如: maven支持多profile打包,可以維護多份profile,然後打包時注入對應環境的文件。

java 應用配置的幾個階段,你到哪一步了?


再比如:spring framework也支持多profile。springboot運行時可以指定環境,spring會選擇加載對應環境的配置文件。

另外:不同環境的環境變量,如: dns服務器,域名,外部配置文件等也是一種思路

第四階段:引入外部統一配置中心

當對配置的需求複雜到一定程度後,我們還有終極應對手段,也即外部統一配置中心。

配置中心不同的實現有不同的能力。

使用springcloud全家桶的可以選擇 spring cloud config。但是小編個人更推薦由攜程來源的apollo。無論是性能,易用性,功能完整度上都更勝一籌,是優秀的開源項目的代表之一。

Apollo(阿波羅)是攜程框架部門研發的分佈式配置中心,能夠集中化管理應用不同環境、不同集群的配置,配置修改後能夠實時推送到應用端,並且具備規範的權限、流程治理等特性,適用於微服務配置管理場景。

服務端基於Spring Boot和Spring Cloud開發,打包後可以直接運行,不需要額外安裝Tomcat等應用容器

java 應用配置的幾個階段,你到哪一步了?


不知道您的項目處於哪個階段呢?

適合自己的才是最好的,能解決問題的前提下沒有必要求新求全

喜歡請點贊~轉發~您的支持是我的最大動力!������



分享到:


相關文章: