本文迁移指导适用于使用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集群。
停止迁移工具。