diamond是淘寶開源的一款為應(yīng)用系統(tǒng)提供動(dòng)態(tài)配置的產(chǎn)品蛾茉。它簡(jiǎn)單易用榆骚,應(yīng)用系統(tǒng)運(yùn)行過程中也可以對(duì)動(dòng)態(tài)數(shù)據(jù)的變化進(jìn)行感知并且獲取變化后的配置數(shù)據(jù)登淘。
首先我們說一下靜態(tài)配置和動(dòng)態(tài)配置。首先說一下靜態(tài)配置流译,一般情況下逞怨,為了保證系統(tǒng)的穩(wěn)定運(yùn)行,公司一般都會(huì)準(zhǔn)備多套環(huán)境福澡,開發(fā)叠赦,測(cè)試,預(yù)發(fā)竞漾,線上等眯搭,每套環(huán)境的配置信息都有所不同。原來(lái)我們的方式是將不同的配置信息放到文件中业岁,在不同的環(huán)境切換不同的配置鳞仙,這種方式比較麻煩且容易出錯(cuò),于是就有了配置項(xiàng)平臺(tái)笔时,將不同環(huán)境的配置值放到平臺(tái)上棍好,根據(jù)不同的環(huán)境拉取相應(yīng)的配置進(jìn)行渲染替換運(yùn)行。這種方式降低了配置出錯(cuò)的概率且檢查起來(lái)方便(不需要翻代碼)允耿,但是每次配置項(xiàng)的替換都需要項(xiàng)目的編譯部署借笙,較為耗時(shí)。而動(dòng)態(tài)配置它是及時(shí)生效的较锡,隨時(shí)修改业稼,立即生效。所以總結(jié)下來(lái)蚂蕴,靜態(tài)配置比較適合配置不經(jīng)常變動(dòng)的配置項(xiàng)低散,比如公司的公共組件俯邓,比如zookeeper的鏈接地址,mq的鏈接地址等熔号,這些配置不易改變稽鞭。如果是一些經(jīng)常變動(dòng)的數(shù)據(jù),最好是放到動(dòng)態(tài)配置中引镊,隨時(shí)修改都可以朦蕴。
diamond就是動(dòng)態(tài)配置里做的比較好的。它的持久配置會(huì)持久化到磁盤和數(shù)據(jù)庫(kù)弟头,在client端也會(huì)啟動(dòng)本地snapshot和從服務(wù)器獲取數(shù)據(jù)等多種方式吩抓,最大程度的保證穩(wěn)定×链桑可以嘗試