概述
本章節主要介紹配置相關的管理操作,主要包括創建配置、同步配置、管理配置、查看歷史版本、監聽查詢、查詢推送軌跡、配置加密、配置灰度發布等。
前提條件
- 已開通微服務引擎MSE,參考章節:創建Nacos實例;
- 已開通Nacos實例并且狀態正常。
管理配置
MSE 注冊配置中心Nacos 提供配置的增刪改改查操作。您可以通過控制臺頁面管理配置,發布之后,可以動態生效。
查詢配置
- 登錄微服務引擎MSE注冊配置中心管理控制臺,選擇資源池;
- 在左側導航欄,選擇注冊配置中心?>?實例列表,單擊實例ID 或者管理按鈕跳轉至基礎信息頁面;
- 在基礎信息頁面,左側菜單點擊配置管理>配置列表,選擇命名空間,查看當前配置;
- 在配置列表頁面可以根據Data ID、Group 、歸屬應用和標簽維度篩選,然后點擊查詢;
- 點擊配置項的“查看”按鈕,可以查看當前配置的屬性和內容信息;
創建配置
配置就是將應用中的參數、變量等從具體的代碼邏輯中提取出來,集中保存到一個文件中。這樣在需要變更時只需要修改配置文件即可。Nacos可以集中托管配置文件,客戶端監聽配置,當配置變更時,自動推送至應用客戶端。
- 登錄微服務引擎MSE注冊配置中心管理控制臺,選擇資源池;
- 在左側導航欄,選擇注冊配置中心?>?實例列表;
- 在實例列表頁面,單擊目標實例ID、實例名稱或者目標行“管理”按鈕均可跳轉至實例基礎信息頁面;
- 在基礎信息頁面,點擊配置管理>配置列表,選擇命名空間,查看當前配置;
- 配置列表頁面左上角點擊創建配置,在彈出框中填寫配置的DataID、分組、配置格式、配置內容等信息,點擊發布即可創建配置,成功后顯示在配置列表;
| 字段 | 說明 |
|---|---|
| 命名空間 | 不可編輯,在創建配置前,在配置列表頁面下拉框選擇。 |
| Data ID | 配置ID。配置的標識。建議按照業務規范命名。 |
| Group | 分組。可以通過分組對配置進行細粒度分類。 |
| 數據加密 | 配置數據是否加密。加密配置的DataId會自動加上cipher-前綴。詳情請參見配置加密。 |
| 配置格式 | 配置內容的格式,默認為text,支持text、json、properties、yaml、xml、html格式。 |
| 配置內容 | 配置文件的內容。配置的內容常見建議不要大于100KB,若配置內容過大,可拆成多個小配置。 |
| 描述 | 配置的描述信息。 |
| 應用 | 配置歸屬應用的名稱。 |
| 標簽 | 配置的標簽。 |
編輯配置
- 在配置列表頁面,點擊編輯按鈕,進入配置詳情頁面;
- 在配置詳情頁面,可以查看配置的具體信息;
- 相較于創建配置的頁面,編輯配置頁面額外提供了Beta發布和配置內容對比的高級特性;
- 在創建Beta配置時,需要同時配置beta發布的IP,多個配置可使用英文逗號分隔;
- 當創建一個Beta配置后,點擊編輯配置,會出現兩個tab, 一個tab為發布beta之前的正式配置,另一個tab為beta配置,在Beta這個tab可以選擇將beta發布為正式配置,或者將beta配置停止,停止后配置內容恢復到創建beta之前的正式內容;
- 當修改完配置,點擊發布按鈕時,會彈出一個對比框,對比配置內容變化的地方,供用戶參考,降低誤操作的可能性。
刪除配置
- 在配置列表頁面,點擊目標配置行操作列的刪除按鈕。
- 在刪除配置的對話框中確認需要刪除的配置后點擊確定。
同步配置
當業務部署在多個環境或者業務環境遷移時,可能會需要將配置同步到相同Nacos實例的其他命名空間或者其他Nacos實例。MSE Nacos支持支持將配置批量同步至相同MSE Nacos實例的指定命名空間或MSE Nacos實例。
- 登錄微服務引擎MSE注冊配置中心管理控制臺,選擇資源池;
- 在左側導航欄,選擇注冊配置中心?>?實例列表;
- 在實例列表頁面,單擊目標實例ID、實例名稱或者目標行“管理”按鈕均可跳轉至實例基礎信息頁面;
- 在基礎信息頁面,點擊配置管理>配置列表,選擇命名空間,查看當前配置;
- 點擊需要同步的目標配置的單選按鈕,選中配置,或者在表格表頭的單選框選中批量選中;
- 然后點擊配置同步按鈕,打開同步配置彈出框,選擇目標實例(不選則默認本實例),選擇目標命名空間,再選擇相同配置的處理策略,可以修改同步之后的配置名稱和分組名稱;
- 點擊同步按鈕,提交同步操作。返回的結果包括同步成功的數量、跳過以及覆蓋的數量;
提示:
- 相同配置策略分為三種。
| 策略 | 說明 |
|---|---|
| 終止導入 | 遇到相同Data ID和Group的配置,直接終止導入,后續的導入操作不再執行。 |
| 跳過 | 遇到相同Data ID和Group的配置直接跳過,不覆蓋配置繼續執行。 |
| 覆蓋 | 遇到相同Data ID和Group的配置直接覆蓋配置,繼續執行。 |
- 在同步配置的彈出框中,可以修改待同步的配置的Data ID和分組,修改后的值僅在目標實例命名空間下生效,原配置不會被改變。
查看歷史版本
MSE 注冊配置中心提供了配置歷史查詢功能。目前默認僅保存30天以內的變更記錄。本文介紹如何查看配置歷史版本。
查看歷史版本
- 登錄微服務引擎MSE注冊配置中心管理控制臺,選擇資源池。
- 在左側導航欄,選擇注冊配置中心?>?實例列表,單擊實例ID 或者管理按鈕跳轉至基礎信息頁面。
- 在基礎信息頁面,左側菜單點擊配置管理>配置列表,選擇命名空間,查看當前配置。
- 在左側導航欄,選擇歷史版本。
- 在歷史版本頁面選擇命名空間、分組、和Data ID,點擊搜索,即可查看配置的歷史。
| 字段 | 說明 |
|---|---|
| Data ID | 配置的Data ID |
| Group | 配置的Group |
| 更新時間 | 配置更新發布的時間 |
| 所屬應用 | 配置所屬應用 |
| 操作類型 | 配置操作類型:插入、更新 |
- 最右側操作列提供查看和會滾的操作。點擊查看可以查看所選的歷史版本的配置的詳細信息。
- 點擊回滾會彈出框對比所選歷史版本和當前最新版本的對比信息。點擊確認回滾,即可將配置回滾至歷史版本。
監聽查詢
客戶端注冊監聽配置,服務端在內存中維護一個監聽客戶端列表,當配置信息變更后,自動推送至客戶端。
監聽查詢
- 登錄微服務引擎MSE注冊配置中心管理控制臺,選擇資源池。
- 在左側導航欄,選擇注冊配置中心 > 實例列表,單擊實例ID 或者管理按鈕跳轉至基礎信息頁面。
- 在基礎信息頁面,左側菜單點擊配置管理> 監聽查詢,選擇命名空間。
- 可以根據需要選擇查詢維度:配置或則IP。配置維度查詢需要輸入或選擇分組和Data ID,點擊查詢該配置推送到機器的狀態。
- IP維度查詢該機器監聽的所有配置,需要填入IP作為參數查詢。
配置透視
MSE 注冊配置中心提供了配置透視功能。支持查看配置監聽客戶端的信息以及客戶端與服務端配置內容的對比。
操作步驟
- 登錄微服務引擎MSE注冊配置中心管理控制臺,選擇資源池。
- 在左側導航欄,選擇注冊配置中心 > 實例列表,單擊實例ID 或者管理按鈕跳轉至基礎信息頁面。
- 在基礎信息頁面,左側菜單點擊配置管理> 監聽查詢,選擇命名空間。
- 可以根據需要選擇查詢維度:配置或則IP。配置維度查詢需要輸入或選擇分組和Data ID,點擊查詢監聽該配置的客戶端信息,包括客戶端IP、客戶端當前配置的MD5和客戶端當前Nacos版本等信息。
- IP維度查詢該機器監聽的所有配置,需要填入IP作為參數查詢。
查詢推送軌跡
客戶端監聽配置,當配置變更時,服務端將變更推送至客戶端。如果修改某個客戶端配置未生效,則可以借助推送軌跡定位問題。
操作步驟
- 登錄微服務引擎MSE注冊配置中心管理控制臺,選擇資源池。
- 在左側導航欄,選擇注冊配置中心?>?實例列表,單擊實例ID 或者管理按鈕跳轉至基礎信息頁面。
- 在基礎信息頁面,左側菜單點擊配置管理> 推送軌跡,選擇命名空間。
- 找到目標配置所在行,點擊推送軌跡按鈕,可以快速查看該配置服務的推送軌跡。也可以直接點擊配置管理> 推送軌跡,然后選擇命名空間,選擇Data ID和分組,查看對應配置的推送軌跡數據。
- 在推送軌跡頁面,還可以根據需要選擇查詢維度:配置或則IP。配置維度查詢需要輸入或選擇分組和Data ID,選擇時間或者自定義時間,點擊查詢。IP維度查詢客戶端收到的全部推送信息,需要輸入客戶端IP作為查詢參數.
配置加密
MSE注冊配置中心的配置文件一般都是以明文的格式存儲,但是對于部分敏感數據可能需要加密存儲,通過SPI插件機制實現配置加密和解密,從而減少數據泄露風險。
創建加密配置
- 登錄微服務引擎MSE注冊配置中心管理控制臺,選擇資源池。
- 在左側導航欄,選擇注冊配置中心?>?實例列表,單擊實例ID 或者管理按鈕跳轉至基礎信息頁面。
- 在基礎信息頁面,左側菜單點擊配置管理> 配置列表,選擇命名空間,點擊創建配置。
- 在創建配置面板,開啟數據加密開關,選擇加密算法,默認為AES-256加密算法。
- 選擇配置格式,填寫配置內容,然后點擊發布。
- 加密配置默認dataId增加cipher-aes前綴,在MSE管理控制臺查看加密配置時看到的解密后的明文。
配置灰度發布
MSE 注冊配置中心支持配置灰度發布功能,即創建一個beta配置,指定使用范圍,經過驗證后可以發布為正式配置或者回滾。縮小配置變更的影響范圍。
背景
使用Nacos作為配置中心集中托管配置,當配置變更時自動推送給所有監聽的應用客戶端,非常方便。但同時也使得誤操作影響的范圍更大,一個誤操作,可能導致眾多的應用出現問題。
因此為了避免大范圍出現問題,可以在進行配置變更時,使用Beta配置功能,指定一小部分范圍的應用作為驗證,僅指定范圍的應用能收到更新推送。如果驗證無誤,則可以將Beta配置發布為正式配置,推送到全量客戶端。如果驗證存在問題,則可以停止Beta配置,配置將恢復到上一個正式配置。整個過程如下圖所示:

創建Beta配置
- 登錄微服務引擎MSE注冊配置中心管理控制臺,選擇資源池。
- 在左側導航欄,選擇注冊配置中心?>?實例列表,單擊實例ID 或者管理按鈕跳轉至基礎信息頁面。
- 在基礎信息頁面,左側菜單點擊配置管理> 配置列表,選擇命名空間,查看配置列表。
- 在目標配置的操作列,點擊編輯,打開編輯面板,打開Beta發布開關。
- 點擊IP輸入框,在輸入框中填寫灰度推送的IP地址。既可以填寫IP,也可以配置IP段。
- 修改完配置后,點擊發布。
查看Beta配置
- 登錄微服務引擎MSE注冊配置中心管理控制臺,選擇資源池。
- 在左側導航欄,選擇注冊配置中心?>?實例列表,單擊實例ID 或者管理按鈕跳轉至基礎信息頁面。
- 在基礎信息頁面,左側菜單點擊配置管理> 配置列表,選擇命名空間,查看配置列表。
- 在發布了Beta配置的目標配置的操作列點擊編輯,打開編輯面板。
- 在編輯配置面板的Beta 頁中,查看Beta發布信息。
- 在驗證完畢后可以點擊正式發布,將beta發布為正式配置,或者點擊停止beta,取消Beta發布,配置內容恢復到創建beta之前的正式內容。
配置導入導出
MSE Nacos引擎提供配置數據的導出能力和其他Nacos和Apollo配置中心的數據導入能力。本文介紹如何使用Nacos導入和導出數據。
Nacos配置導出
- 登錄微服務引擎MSE注冊配置中心管理控制臺,選擇資源池;
- 在左側導航欄,選擇注冊配置中心?>?實例列表,單擊實例ID 或者管理按鈕跳轉至基礎信息頁面;
- 在基礎信息頁面,左側菜單點擊配置管理> 配置列表,選擇命名空間,查看配置列表;
- 選擇需要導出的配置項,點擊導出配置按鈕,彈出框會顯示本次待導出的配置項;
- 點擊開始導出按鈕,即可下載導出的配置文件。
Nacos配置導入
- 登錄微服務引擎MSE注冊配置中心管理控制臺,選擇資源池。
- 在左側導航欄,選擇注冊配置中心?>?實例列表,單擊實例ID 或者管理按鈕跳轉至基礎信息頁面。
- 在基礎信息頁面,左側菜單點擊配置管理> 配置列表,選擇命名空間,查看配置列表。
- 點擊導入配置按鈕,彈出窗口中“導入配置類型”選擇“Nacos配置”,如需要導入到其他命名空間,請先在配置列表頁面下拉框切換命名空間。
- 選擇對應的相同配置策略,點擊上傳文件按鈕,上傳需要導入的配置文件。當前支持上傳的文件遵循開源Nacos規范,僅支持zip壓縮包格式文件,可將其他Nacos配置導出的結果文件直接上傳;
- 點擊確定導入按鈕開始導入配置,稍等片刻即可完成導入。
- 導入完成后,會在彈出框顯示導入結果。
相同配置策略說明:
相同配置策略,即在配置導入的過程中,目標命名空間已存在相同配置的處理策略。三種策略的說明如下:
| 相同配置策略 | 說明 |
|---|---|
| 終止導入 | 終止本次導入 |
| 跳過導入 | 跳過已存在的配置 |
| 覆蓋導入 | 覆蓋已存在的配置 |
Apollo配置導入
- 登錄微服務引擎MSE注冊配置中心管理控制臺,選擇資源池;
- 在左側導航欄,選擇注冊配置中心?>?實例列表,單擊實例ID 或者管理按鈕跳轉至基礎信息頁面;
- 在基礎信息頁面,左側菜單點擊配置管理> 配置列表,選擇命名空間,查看配置列表;
- 點擊導入配置按鈕,彈出窗口中“導入配置類型”選擇“Apollo配置”,如需要導入到其他命名空間,請先在配置列表頁面下拉框切換命名空間;
- 選擇對應的相同配置策略(策略說明見前文),點擊上傳文件按鈕,上傳需要導入的配置文件,只能上傳properties格式文件,可以同時選擇多個文件且總大小不超過5MB;
- 點擊確定導入按鈕開始導入配置,稍等片刻即可完成導入。
- 導入完成后,會在彈出框顯示導入結果。
Apollo的數據模型和MSE Nacos的數據模型存在不同之處,但可以進行一一對應,業務側可根據技術棧對應調整;比如Apollo中環境(env)的概念可以對應Nacos中的命名空間(namespace),可以用來隔離不同環境。Apollo中集群(cluster)對應Nacos的分組,表示這些配置存在相關性。Apollo的命名空間則對應Naocs的DataID,對應具體的配置。
| Apollo數據模型 | Nacos數據模型 |
|---|---|
| 環境(env) | 命名空間(namespace) |
| 集群(cluster) | 分組(group) |
| 命名空間(namespace) | dataId |
補充說明
以下是針對Apollo配置的導出方式說明,主要介紹Apollo原生控制臺導出配置文件的兩種操作路徑
- 以環境維度批量導出:
- 在Apollo原生控制臺登錄后進入“我的應用”頁面,頁面的右上方,選擇管理員工具 > 配置導出導入;
- 在配置導出導入頁面,勾選選擇導出的環境,然后單擊導出,導出的文件為zip壓縮包;
- 解壓壓縮包進入導出的環境名稱的目錄就能看到導出的配置,文件名稱格式為appId+集群+配置名稱.properties。
- 以單個配置維度導出:
- 在Apollo原生控制臺登錄后進入“我的應用”頁面,單擊目標應用名稱,進入配置頁面;
- 點擊右上角齒輪圖標>”導出Namespace” ,可以導出一個 {應用名稱}.properties文件。
導入的Apollo配置文件命名方式與在Nacos中最終導入結果名稱存在對應關系,因此導入前可以人工調整待導入文件,以達到預期目標
- 導入文件名為“appId+group+config.properties”的文件表示將properties配置內容導入為Nacos實例的“appId”命名空間下的“group”分組下名稱為“config”的配置項。如果“appId”這個命名空間不存在將會導入錯誤,需要在命名空間管理中創建命名空間ID為“appId”的命名空間然后再行導入;
- 導入文件名為“group+config.properties”的文件表示將properties配置內容導入為Nacos默認public命名空間下的“group”分組下名稱為“config”的配置項;
- 導入文件名為“config.properties”的文件表示將properties配置內容導入為Nacos默認public命名空間下的默認的DEFAULT_GREOUP分組下名稱為“config”的配置項。