4.2 多級可換源的配置(上)
總所周知,配置信息是應(yīng)用程序可變化的設(shè)置信息,存放于配置文件中,開發(fā)人員可以使用配置文件來更改應(yīng)用的設(shè)置。.net core提供了多種配置方式,例如json文件配置,注冊表配置、環(huán)境配置,xml文件配置等。其中大家常用的是一個json配置文件方式,即每個應(yīng)用都有一個appsettings.json配置文件,存放所有的配置信息。
這里,我還有個需要說明的地方,就是當前系統(tǒng)的配置過于龐大了,我建議盡量采用約定方式,就是約定優(yōu)于配置。例如所有的MVC Controller都以Controller為結(jié)尾就是一種約定優(yōu)于配置的例子。
但這種配置方式存在重復(fù)配置問題。例如有三個應(yīng)用項目訪問某數(shù)據(jù)庫,該數(shù)據(jù)庫的數(shù)據(jù)庫連接串將在這三個應(yīng)用項目的配置文件中分別存放,當數(shù)據(jù)庫的服務(wù)器地址、用戶、口令等變化時,均需要在這三個項目中修改,隨著系統(tǒng)的增多,極易造成漏改的情況。同樣的,在云環(huán)境下,應(yīng)用項目可以部署動態(tài)分配、擴展的計算資源中(多臺虛擬服務(wù)器),修改一個配置項就需要同時修改各個服務(wù)器中的配置文件,也一樣的容易造成漏改的情況。
為了解決這個問題,我們采用了多級配置文件方式,將公用部分配置信息提取出來,存放到一個獨立的公共配置文件中,這三個項目均訪問公共配置文件以獲取數(shù)據(jù)庫連接串。公共配置文件方式可以解決目前存在的問題。然而,在實際運行過程中又發(fā)現(xiàn)了新的問題,就是運行過程中發(fā)現(xiàn)了程序異常,技術(shù)人員經(jīng)常需要查看配置信息,或者需要修改配置,而客戶安全要求比較高(對于客戶技術(shù)人員的能力就不吐槽了),根本不允許直接訪問服務(wù)器,排查問題非常困難。
因此,我們最終采用數(shù)據(jù)庫方式存放配置信息。在數(shù)據(jù)庫中增加一個配置信息表,統(tǒng)一存放公共的配置信息,并增加相應(yīng)的管理界面進行維護。各系統(tǒng)均從同一數(shù)據(jù)庫中獲取公共配置信息,完美的解決了重復(fù)性配置問題。
首先是公用的配置基類:
1 public延伸閱讀
學(xué)習是年輕人改變自己的最好方式
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26