文本總結(jié)了ACM相關(guān)的概念解釋。

遷移到MSE Nacos

ACM進(jìn)入下線狀態(tài),所有配置管理相關(guān)的需求由MSE中的Nacos承接(ACM獨(dú)享版,更好的安全和穩(wěn)定性)。您需要在ACM控制臺(tái)導(dǎo)出配置,然后在MSE控制臺(tái)導(dǎo)入之前導(dǎo)出的配置即可完成遷移。具體操作,請(qǐng)參見將應(yīng)用配置從ACM遷移到MSE Nacos

配置

在系統(tǒng)開發(fā)過程中通常會(huì)將一些需要變更的參數(shù)、變量等從代碼中分離出來獨(dú)立管理,以獨(dú)立的配置文件的形式存在。目的是讓靜態(tài)的系統(tǒng)工件或者交付物(如WAR,JAR包等)更好地和實(shí)際的物理運(yùn)行環(huán)境進(jìn)行適配。配置管理一般包含在系統(tǒng)部署的過程中,由系統(tǒng)管理員或者運(yùn)維人員完成這個(gè)步驟。配置變更是調(diào)整系統(tǒng)運(yùn)行時(shí)的行為的有效手段之一。

動(dòng)態(tài)配置和靜態(tài)配置

系統(tǒng)配置可以是靜態(tài)或者動(dòng)態(tài)配置。配置的版本與軟件本身的版本強(qiáng)綁定的稱之為靜態(tài)配置。反之,在同一個(gè)版本的系統(tǒng)部署且運(yùn)行期間配置可以連續(xù)發(fā)生多次變更的則稱之為動(dòng)態(tài)配置。例如build-version: 1.0.0配置與軟件版本綁定,稱之為靜態(tài)配置;而線程池大小的配置則可以在系統(tǒng)運(yùn)行期間連續(xù)多次變更,稱之為動(dòng)態(tài)配置。

配置管理

在數(shù)據(jù)中心中,系統(tǒng)中所有配置的編輯、存儲(chǔ)、分發(fā)、變更管理、歷史版本管理、變更審計(jì)等所有與配置相關(guān)的活動(dòng)統(tǒng)稱為配置管理。

配置推送

配置管理中,常需要配置管理系統(tǒng)將配置的變更分發(fā)到相關(guān)的系統(tǒng),從分發(fā)到配置生效的過程稱為配置推送。

推送軌跡

從配置變更,配置推送到配置生效過程的整個(gè)軌跡稱為推送軌跡。通過查看某個(gè)配置的推送軌跡,我們可以獲知一個(gè)配置變更在哪些應(yīng)用上,哪些機(jī)器上,在哪個(gè)時(shí)間點(diǎn)生效,產(chǎn)生了哪些影響等。

配置監(jiān)聽

配置監(jiān)聽,是指ACM允許系統(tǒng)通過使用SDK等方式向ACM系統(tǒng)注冊(cè)監(jiān)聽器(Listener),從而監(jiān)聽并消費(fèi)該配置的變更。

配置項(xiàng)

是指一個(gè)具體的可配置的參數(shù)與其值域,通常是param-key=param-value的形式存在。例如我們常配置系統(tǒng)的日志輸出級(jí)別(logLevel=INFO|WARN|ERROR)就是一個(gè)配置項(xiàng)。

配置集

一組相關(guān)或者不相關(guān)的配置項(xiàng)的集合稱為配置集。通常系統(tǒng)中的一個(gè)配置文件就是一個(gè)配置集,其內(nèi)包含了系統(tǒng)各個(gè)方面配置。例如一個(gè)配置集可能包含了系統(tǒng)如數(shù)據(jù)源、線程池、日志級(jí)別等配置項(xiàng)。

配置集ID(Data ID)

在ACM中代表配置集的ID, 是配置組織的維度之一。一般通過Data ID來組織劃分系統(tǒng)的配置集。一個(gè)系統(tǒng)或者應(yīng)用可以包含多個(gè)配置集,每個(gè)配置集可以用有意義的名稱來標(biāo)識(shí)這個(gè)配置集。Data ID通常采用類Java包命名方式(如com.taobao.tc.refund.log.level)的命名規(guī)則保證全局唯一性,此命名規(guī)則非強(qiáng)制。

配置分組(Group)

ACM中配置集的分組,是配置組織的維度之一。通常使用一個(gè)有意義的字符串來分組配置集,例如Buy,Trade等,用以區(qū)分相同Data ID的配置集。ACM創(chuàng)建配置時(shí),如果用戶未填Group名字,則默認(rèn)用DEFAULT_GROUP代替。Group的常用場(chǎng)景是同一個(gè)配置類型用于不同應(yīng)用或者組件,如database_url配置,MQ_topic配置等。

命名空間(Namespace)

ACM中的命名空間,用于進(jìn)行租戶粒度的配置隔離。不同的命名空間下,可以存在相同的Group,Data ID的配置。Namespace的常用場(chǎng)景之一是不同環(huán)境的配置的區(qū)分隔離,如開發(fā)測(cè)試環(huán)境和生產(chǎn)環(huán)境的配置隔離等。

配置快照

ACM客戶端SDK會(huì)在本地生成配置的快照。當(dāng)客戶端無法連接到ACM Server時(shí),可以利用快照提供系統(tǒng)的整體容災(zāi)能力。配置快照類似于Git中的本地commit的概念,也類似緩存,會(huì)在適當(dāng)?shù)臅r(shí)機(jī)更新,但是沒有緩存過期(expire)的概念。