91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java分布式系統中處理參數配置的方案有哪些

發布時間:2021-12-14 16:40:44 來源:億速云 閱讀:145 作者:iii 欄目:大數據

本篇內容介紹了“java分布式系統中處理參數配置的方案有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

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

  • 日志文件生成主目錄

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

  • 當前日志級別

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

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

1)能在線靈活修改配置

2)能在線動態刷新配置

3)能根據不同環境配置

4)能統一管理維護配置

1、數據庫法

把所有參數存儲到數據庫,系統啟動的時候加載到內存。

這種實現方式比較簡單,但需要占用數據庫資源,系統簡單壓力較小時可以選用此種方式。

2、打包處理法

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

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

3、環境變量法

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

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

// 設置系統屬性
java.lang.System#setProperty

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

4、配置中心法

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

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

“java分布式系統中處理參數配置的方案有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

寿阳县| 康乐县| 普安县| 额敏县| 青冈县| 静安区| 昌江| 闽侯县| 稷山县| 高陵县| 安福县| 阳西县| 巴彦淖尔市| 蓝山县| 定日县| 沧源| 滦平县| 招远市| 濮阳县| 凤凰县| 巧家县| 贞丰县| 邻水| 炎陵县| 南乐县| 瑞金市| 卢湾区| 黔西| 澄城县| 大新县| 准格尔旗| 新源县| 临泉县| 浦城县| 武山县| 海口市| 闻喜县| 万安县| 白朗县| 库伦旗| 吉安县|