分布式系統(tǒng)中處理參數(shù)配置有哪四種方法-創(chuàng)新互聯(lián)

分布式系統(tǒng)中處理參數(shù)配置有哪四種方法?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

在咸陽等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都網(wǎng)站建設、網(wǎng)站設計 網(wǎng)站設計制作按需網(wǎng)站制作,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,高端網(wǎng)站設計,成都營銷網(wǎng)站建設,外貿網(wǎng)站建設,咸陽網(wǎng)站建設費用合理。

一個系統(tǒng)中包含有各種各樣的配置信息,如一個日志文件需要配置以下幾個信息。

  • 日志文件生成主目錄

  • 日志文件名稱,不同的日志級別對應不同的文件

  • 當前日志級別

還有其他各種業(yè)務參數(shù)、系統(tǒng)參數(shù)等,大多單一系統(tǒng)是直接把這些配置寫死在配置文件中,當部署到測試、生產(chǎn)環(huán)境就再修改下配置文件,這樣很容易出錯,也不能靈活修改。還有就是系統(tǒng)變成分布式系統(tǒng)后,子系統(tǒng)越來越多,你要維護這些配置就變得越來越困難。

我覺得至少要能解決以下幾個問題才能算優(yōu)秀!

1)能在線靈活修改配置

2)能在線動態(tài)刷新配置

3)能根據(jù)不同環(huán)境配置

4)能統(tǒng)一管理維護配置

那么如何靈活維護這些配置呢?我給大家總結了一下幾類方法,根據(jù)不同的應用場大家參考一下。

1、數(shù)據(jù)庫法

把所有參數(shù)存儲到數(shù)據(jù)庫,系統(tǒng)啟動的時候加載到內存。

這種實現(xiàn)方式比較簡單,但需要占用數(shù)據(jù)庫資源,系統(tǒng)簡單壓力較小時可以選用此種方式。

2、打包處理法

利用 Maven 的 maven-resources-plugin 插件,然后根據(jù)不同的環(huán)境(Profile)提供不同環(huán)境的配置文件,這樣,不同環(huán)境的配置信息在打包階段就決定好了。

這樣只能解決了不同操作系統(tǒng)上面的配置,不能靈活動態(tài)修改,每次更新只能重新打包或者在線修改配置文件,而且信息也難于同步,如果項目少還好,項目多起來,配置還要經(jīng)常變動,這樣變得異常煩瑣。

3、環(huán)境變量法

可以把屬性值設置到環(huán)境變量中,然后讀取后設置到 Java 系統(tǒng)屬性中。這種可以實現(xiàn)區(qū)分不同環(huán)境的目的,但仍然不能動態(tài)更新配置,而且配置和維護環(huán)境變量相當麻煩,并且在分布式系統(tǒng)中更是個十分頭疼的問題。

// 讀取環(huán)境變量
java.lang.System#getenv(java.lang.String)

// 設置系統(tǒng)屬性
java.lang.System#setProperty

這種方法,一些全局的系統(tǒng)配置,如日志、緩存、臨時目錄等可以參考,主流日志系統(tǒng)都支持從 system properties 中讀取配置。其他一些配置,不建議存儲在環(huán)境變量中。

4、配置中心法

1)目前大多數(shù)分布式配置中心都是基于 Zookeeper 來實現(xiàn)的,Spring Cloud 有自己的配置中心組件,它們都支持在線動態(tài)更新和刷新配置。

2)直接把配置存放在數(shù)據(jù)庫,如果系統(tǒng)并發(fā)小的或者管理類系統(tǒng)的話可以參考,對于高并發(fā)應用不建議用數(shù)據(jù)庫做配置中心,畢竟它會帶來訪問壓力,而且實現(xiàn)動態(tài)更新配置也比較復雜。

總結

這是我們目前應用的 4 種配置方法,很顯然,配置中心是最佳的解決方案,也解決了以上的幾個問題,但需要依賴中間件及其高可用性。

關于分布式系統(tǒng)中處理參數(shù)配置有哪四種方法問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關知識。

文章名稱:分布式系統(tǒng)中處理參數(shù)配置有哪四種方法-創(chuàng)新互聯(lián)
當前路徑:http://www.muchs.cn/article22/dhcejc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計公司商城網(wǎng)站、定制網(wǎng)站虛擬主機、網(wǎng)頁設計公司網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名