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