使用 acm-server 包搭建本地的 ACM 伺服器,即可在本地使用 ACM 提供的組態管理功能,還可以用來測試 ACM SDK。
背景資訊
說明 ACM進入下線狀態,所有組態管理相關的需求由MSE中的Nacos承接(ACM獨享版,更好的安全和穩定性)。您需要在ACM控制台匯出配置,然後在MSE控制台匯入之前置出的配置即可完成遷移。具體操作,請參見將應用配置從ACM遷移到MSE Nacos。
目前 ACM 本機伺服器支援 Mac、Linux 和 Windows 平台,JDK 1.8 及以上版本。
ACM 本機伺服器和 ACM 雲端服務器的功能對比如下。
對比項 | ACM 雲端服務器 | ACM 本機伺服器 |
配置操作 | 支援 | 支援 |
歷史版本 | 支援 | 不支援 |
監聽查詢 | 支援 | 不支援 |
推送軌跡 | 支援 | 不支援 |
命名空間 | 支援 | 不支援 |
在本地部署 ACM 伺服器
- 下載 acm-server 包到本地。連結為 acm-server.tar.gz。
- 解壓檔案。
tar xzvf acm-server.tar.gz
目前的目錄下會產生 acm-server 目錄。 - 進入 acm-server 目錄,執行啟動指令碼,運行 acm-server。
cd acm-server/bin sudo sh catalina.sh run
- 在瀏覽器地址欄輸入 localhost:8080/diamond-server。出現以上介面則說明 ACM 本機伺服器已經部署成功。
建立配置
- 在組態管理頁面單擊建立配置。
- 輸入配置的 Data ID、Group ID 和配置內容,並單擊發布。
查詢配置
- 在組態管理頁面輸入要查詢的 Data ID 和 Group ID,單擊查詢。說明 如果只輸入 Data ID,則查詢具有該 Data ID 的所有配置。如果不輸入任何查詢條件,則查詢所有配置。
- 在查詢結果清單的操作欄中,單擊詳情。
- 在配置內容文字框中查看配置內容。
修改配置
- 在查詢結果清單的操作欄中,單擊編輯。
- 在配置內容文字框中修改配置內容,並單擊發布。
刪除配置
- 在查詢結果清單的操作欄中,單擊刪除。
- 在彈出對話方塊中單擊確定。
ACM-SDK 測試
- 綁定 acm.aliyun.com 網域名稱。由於 ACM-SDK 預設使用 acm.aliyun.com 網域名稱串連 ACM 伺服器,為了將 ACM-SDK 串連到本地 ACM 伺服器,需要將 acm.aliyun.com 網域名稱綁定到本地 IP 127.0.0.1。
在 /etc/hosts 檔案中添加
127.0.0.1 acm.aliyun.com
。 - 編寫 ACM-SDK 測試案例。ACM-SDK 中填入建立的配置 dataId 和 group,如果能成功擷取配置,則說明 ACM 本地測試環境部署成功。
public class ACMTest { public static void main(String[] args) throws ConfigException, InterruptedException { // 初始化佈建服務,控制台通過範例程式碼自動擷取下面參數。入參分別為endpoint,namespace,accessKey,secretKey(為 ACM 專用密鑰,不能用阿里雲產品的通用密鑰)。 ConfigService.init("acm.aliyun.com", "", "", ""); String content = ConfigService.getConfig("acm.test", "DEFAULT_GROUP", 6000); System.out.println(content); // 初始化的時候,給配置添加監聽,配置變更會回調通知 ConfigService.addListener("acm.test", "DEFAULT_GROUP", new ConfigChangeListener() { public void receiveConfigInfo(String configInfo) { // 當配置更新後,通過該回呼函數將變更內容列出。 // 注意回呼函數中不要做阻塞操作,否則阻塞通知線程。 System.out.println(configInfo); } }); // 防止主線程 sleep Thread.sleep(100000); } }