本文遷移指導適用於使用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叢集。
-
停止遷移工具。