自建Dubbo ZooKeeper迁移到MSE ZooKeeper

本文迁移指导适用于使用ZooKeeper作为Dubbo的注册中心需要迁移到MSE 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个节点。

迁移步骤

迁移的部署结构如下所示。部署结构

步骤一:添加迁移服务

  1. 在迁移工具左侧导航栏,单击集群配置,然后单击新增集群,在新增集群对话框,添加源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地址及端口。

    3

  2. 再次单击新增集群,添加目标ZooKeeper集群信息。

    • 集群类型:选择ZK

    • 集群IP列表:由目标MSE ZooKeeper的Endpoint和服务端口组成。例如,mse-8b7de****-p.zk.mse.aliyuncs.com:2181。

    4

  3. 在左侧导航栏,单击同步任务,然后单击新增同步,添加需要迁移的Dubbo服务。

    • 同步方式:选择双向同步,即同步的服务在任何一侧做出变更,都会同步到另一侧。

    • 同步类型:选择服务信息,MSE Sync会自动列出源集群的所有服务,按需选择即可。

    • 分组名:如果选择同步多个服务,分组名可不填写,否则填写具体Dubbo分组名。

    b1

  4. 单击确定

    在迁移工具的同步服务页面,查看已经同步的服务名。b2

步骤二:验证同步结果

  1. 登录MSE注册配置中心管理控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择注册配置中心 > 实例列表

  3. 实例列表页面,单击目标实例名称。

  4. 在左侧导航栏,选择数据管理 > znode管理。查看Dubbo的默认路径下面是否已经存在服务。

步骤三:迁移Dubbo客户端

  1. 修改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"/>
  2. 重启客户端,Dubbo客户端连接到MSE ZooKeeper。

    说明

    为保障业务不中断,建议分批重启客户端。重启完成后,检查自建集群下连接是否已经全部完成。

步骤四:关闭自建ZooKeeper集群

  1. 停止自建ZooKeeper集群。

  2. 停止迁移工具。