本文遷移指導適用於使用ZooKeeper作為Dubbo的註冊中心需要遷移到MSE ZooKeeper的情境。
前提條件
已部署MSE Sync遷移工具。具體操作,請參見MSE Sync遷移方案。
已建立MSE Zookeeper叢集。具體操作,請參見建立ZooKeeper引擎。
使用限制
遷移工具宕機會導致同步服務中斷,因此建議最少部署2個節點。遷移流程啟動後,請您儘快完成遷移操作。
確保自建ZooKeeper、遷移工具和MSE ZooKeeper三者之間的網路互相聯通。
機型參考
Dubbo服務數 | Provider數 | Consumer數 | 最小執行個體機型 | 最小遷移工具機型 |
0~1000 | 0~3000 | 0~9000 | 2 Core 4 GB | 2 Core 4 GB |
1000~4000 | 0~12000 | 0~36000 | 4 Core 8 GB | 4 Core 8 GB |
4000~7000 | 0~21000 | 0~63000 | 8 Core 16 GB | 4 Core 8 GB |
7000~10000 | 0~30000 | 0~90000 | 16 Core 32 GB | 8 Core 16 GB |
最小執行個體機型:建議生產環境最少部署3個節點,重要環境最少部署5個節點。
最小遷移工具機型:如果需要實現高可用,建議最少部署2個節點。
遷移步驟
遷移的部署結構如下所示。
步驟一:添加遷移服務
在遷移工具左側導覽列,單擊叢集配置,然後單擊新增叢集,在新增叢集對話方塊,添加源ZooKeeper叢集資訊,然後單擊確定。
配置項
說明
叢集名
自訂。
叢集類型
ZK。
叢集IP列表
叢集IP列表可填寫多行,每行由源ZooKeeper服務的IP和連接埠組成,預設連接埠號碼為2181。例如:
127.0.0.1:2181 127.0.0.2:2181 127.0.0.3:2181如果源叢集有SLB作為負載平衡,請在叢集IP列表填寫SLB的IP地址及連接埠。

再次單擊新增叢集,添加目標ZooKeeper叢集資訊。
叢集類型:選擇ZK。
叢集IP列表:由目標MSE ZooKeeper的Endpoint和服務連接埠組成。例如,mse-8b7de****-p.zk.mse.aliyuncs.com:2181。

在左側導覽列,單擊同步任務,然後單擊新增同步,添加需要遷移的Dubbo服務。
同步方式:選擇雙向同步,即同步的服務在任何一側做出變更,都會同步到另一側。
同步類型:選擇服務資訊,MSE Sync會自動列出源叢集的所有服務,按需選擇即可。
分組名:如果選擇同步多個服務,分組名可不填寫,否則填寫具體Dubbo分組名。

單擊確定。
在遷移工具的同步服務頁面,查看已經同步的服務名。

步驟二:驗證同步結果
登入MSE註冊配置中心管理主控台,並在頂部功能表列選擇地區。
在左側導覽列,選擇注册配置中心 > 实例列表。
在实例列表頁面,單擊目標執行個體名稱。
在左側導覽列,選擇。查看Dubbo的預設路徑下面是否已經存在服務。
步驟三:遷移Dubbo用戶端
修改Dubbo用戶端的Endpoint。
如下所示,找到Dubbo用戶端的XML設定檔,將
dubbo:registry address中自建ZooKeeper的Endpoint,替換為MSE ZooKeeper的Endpoint。修改前:
<dubbo:registry address="zookeeper://127.0.0.1:2181"/>修改後:
<dubbo:registry address="zookeeper://mse-8b7de****-p.zk.mse.aliyuncs.com:2181"/>重啟用戶端,Dubbo用戶端串連到MSE ZooKeeper。
說明為保障業務不中斷,建議分批重啟用戶端。重啟完成後,檢查自建叢集下串連是否已經全部完成。
步驟四:關閉自建ZooKeeper叢集
停止自建ZooKeeper叢集。
停止遷移工具。