Spring-Boot的應(yīng)用環(huán)境感知自識別配置

Spring Boot的應(yīng)用環(huán)境感知自識別配置解決方案

1. Spring Boot應(yīng)用集成etcd配置源

起衣杆怕,2018.1.2

在分布式米诉、云化的系統(tǒng)里爸吮,應(yīng)用的配置(尤其是依賴服務(wù)的配置、環(huán)境相關(guān)的配置)都存儲到應(yīng)用的本地配置文件里會給維護帶來很大的麻煩鸭叙,而且 docker 更是將應(yīng)用本身做成了鏡像,更難以在本地的配置文件里去存儲一些部署環(huán)境相關(guān)的信息焕梅。所以通常在整個系統(tǒng)里會有一個公共的配置服務(wù)输吏,配置服務(wù)統(tǒng)一集中地維護其他系統(tǒng)的配置信息,再通過網(wǎng)絡(luò)分發(fā)色洞。Spring Cloud Config 就是 Spring 推出的解決方案戏锹,不過在自己的應(yīng)用里還不想為此再起 Java 進程,就選擇了較為輕量級的 etcd 來作為配置服務(wù)火诸。

2. Apollo - 攜程

Apollo(阿波羅)是攜程框架部門研發(fā)的分布式配置中心锦针,能夠集中化管理應(yīng)用不同環(huán)境、不同集群的配置惭蹂,配置修改后能夠?qū)崟r推送到應(yīng)用端伞插,并且具備規(guī)范的權(quán)限、流程治理等特性盾碗,適用于微服務(wù)配置管理場景媚污。

3. Spring Boot自定義配置屬性源(PropertySource)

caosh,2017.12.5

配置覆蓋優(yōu)于profile

在生產(chǎn)實踐中廷雅,配置覆蓋是解決不同環(huán)境不同配置的常用方法耗美。比如用生產(chǎn)服務(wù)器上的配置文件覆蓋包內(nèi)的文件京髓,或者使用中心化的配置服務(wù)來覆蓋默認的業(yè)務(wù)配置。

相比于profile機制商架,即不同環(huán)境使用不同的配置文件堰怨,覆蓋的方式更有優(yōu)勢。程序員在開發(fā)時不需要關(guān)心生產(chǎn)環(huán)境數(shù)據(jù)庫的地址蛇摸、賬號等信息备图,一次構(gòu)建即可在不同環(huán)境中運行,而profile機制需要將生產(chǎn)環(huán)境的配置寫到項目資源文件中赶袄,而且要為不同環(huán)境使用不同的構(gòu)建參數(shù)或者運行參數(shù)揽涮。

Spring提供了靈活的配置擴展能力,有多種方式將自定義的屬性源集成進來饿肺,可以輕松地實現(xiàn)配置覆蓋蒋困。

自定義屬性源工廠

如果想要更加靈活的自定義屬性源,比如實現(xiàn)從中心化的配置服務(wù)加載配置敬辣,可以通過實現(xiàn) PropertySourceFactory 接口雪标,并通過配置 @PropertySource 注解的 factory 參數(shù)來實現(xiàn)。

4. Spring Boot自定義配置源

atheva溉跃,2017.10.17

概述

如果我們有遠程配置村刨,如何把她引入進來呢。

實現(xiàn)方式

  1. 通過 EnvironmentPostProcessor 接口把我們自定義的 PropertySource 加入 Environment 中(相對簡單但沒那么“優(yōu)雅”)
  2. 參考 Spring Cloud 中的做法喊积,也只需要 3 步(相對比較復(fù)雜一點)

小結(jié)

上面只是拋磚引玉烹困,這樣無論是哪里的數(shù)據(jù)源,都可以通過這種方式編寫乾吻,把配置交給 Spring 管理髓梅。這樣再也不怕在本地配置文件中出現(xiàn)敏感信息啦,再也不怕修改配置文件需要登錄每一臺機器修改啦绎签。


祝玩得開心枯饿!ˇ?ˇ
云舒,2017.10.4诡必,杭州

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末奢方,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子爸舒,更是在濱河造成了極大的恐慌蟋字,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件扭勉,死亡現(xiàn)場離奇詭異鹊奖,居然都是意外死亡,警方通過查閱死者的電腦和手機涂炎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門忠聚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來设哗,“玉大人,你說我怎么就攤上這事两蟀⊥遥” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵赂毯,是天一觀的道長战虏。 經(jīng)常有香客問我,道長党涕,這世上最難降的妖魔是什么活烙? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮遣鼓,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘重贺。我一直安慰自己骑祟,他們只是感情好,可當我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布气笙。 她就那樣靜靜地躺著次企,像睡著了一般。 火紅的嫁衣襯著肌膚如雪潜圃。 梳的紋絲不亂的頭發(fā)上缸棵,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天,我揣著相機與錄音谭期,去河邊找鬼堵第。 笑死,一個胖子當著我的面吹牛隧出,可吹牛的內(nèi)容都是我干的踏志。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼胀瞪,長吁一口氣:“原來是場噩夢啊……” “哼针余!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起凄诞,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤圆雁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后帆谍,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體伪朽,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年既忆,在試婚紗的時候發(fā)現(xiàn)自己被綠了驱负。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嗦玖。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖跃脊,靈堂內(nèi)的尸體忽然破棺而出宇挫,到底是詐尸還是另有隱情,我是刑警寧澤酪术,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布器瘪,位于F島的核電站,受9級特大地震影響绘雁,放射性物質(zhì)發(fā)生泄漏橡疼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一庐舟、第九天 我趴在偏房一處隱蔽的房頂上張望欣除。 院中可真熱鬧,春花似錦挪略、人聲如沸历帚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挽牢。三九已至,卻和暖如春摊求,著一層夾襖步出監(jiān)牢的瞬間禽拔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工室叉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留睹栖,地道東北人。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓茧痕,卻偏偏與公主長得像磨淌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子凿渊,可洞房花燭夜當晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容