日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

分布式系统中处理参数配置的 4 种方案

發布時間:2025/3/21 windows 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分布式系统中处理参数配置的 4 种方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

  • 日志文件生成主目錄

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

  • 當前日志級別

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

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

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

?

總結

這是我們目前應用的 4 種配置方法,很顯然,配置中心是最佳的解決方案,也解決了以上的幾個問題,但需要依賴中間件及其高可用性,如果你有其他更好的方式,歡迎留言。

總結

以上是生活随笔為你收集整理的分布式系统中处理参数配置的 4 种方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。