自建Dubbo Nacos注册中心迁移到MSE Nacos

MSE提供了MSE Sync迁移工具等解决方案,能够实现从自建Nacos到MSE Nacos的数据平滑迁移,最大限度地减少对线上服务的影响。MSE Nacos相比自建Dubbo Nacos具有更高的性能和容量、更多的服务发现协议、更便捷的运维管理以及更灵活的扩展性等优势,可以满足不同业务场景的需求。本文介绍如何将Dubbo Nacos注册中心迁移到MSE Nacos。

前提条件

使用限制

  • 迁移工具宕机会导致同步服务中断,因此建议最少部署2个节点。迁移流程启动后,请尽快完成迁移操作。

  • 确保自建Nacos、迁移工具和MSE Nacos三者之间的网络互相联通。

  • 建议您使用Nacos 2.x客户端,如果您使用的是Nacos 1.x客户端,建议提升一个规格。

迁移步骤

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

image

步骤一:添加迁移服务

  1. 在迁移工具左侧导航栏,单击集群配置,然后单击新增集群,在新增集群对话框,添加源Nacos集群信息,然后单击确定

    配置项

    说明

    集群名

    自定义的集群名称。

    集群类型

    NACOS

    命名空间ID

    需要同步服务的命名空间ID。

    用户名

    如果已设置Nacos鉴权,填写对应的用户名和密码。

    密码

    AK

    AccessKey。

    SK

    SecretKey。

    集群IP列表

    集群IP列表可填写多行,每行由Nacos服务的IP和端口组成,默认端口号为8848。

    如果源集群有SLB作为负载均衡,请在集群IP列表填写SLB的IP地址及端口。

    c1

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

    配置项

    说明

    集群名

    自定义的集群名称。

    集群类型

    NACOS

    命名空间ID

    需要同步服务的命名空间ID。

    用户名

    如果已设置Nacos鉴权,请填写对应的用户名和密码。

    密码

    AK

    AccessKey。

    SK

    SecretKey。

    集群IP列表

    由目标MSE Nacos的Endpoint和服务端口组成。例如,mse-8b7de****-p.zk.mse.aliyuncs.com:8848。

    c2

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

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

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

    e

  4. 单击确定

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

步骤二:验证同步结果

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

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

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

  4. 在左侧导航栏,单击服务管理 > 服务列表,查看服务是否已经同步。

步骤三:迁移Dubbo客户端

  1. 修改Dubbo客户端的Endpoint。

    如下所示,找到Dubbo客户端的XML配置文件,将dubbo:registry address中自建Nacos的Endpoint,替换为MSE Nacos的Endpoint。

    修改前:

     <dubbo:registry address="nacos://127.0.0.1:8848"/>

    修改后:

     <dubbo:registry address="nacos://mse-********-p.nacos-ans.mse.aliyuncs.com:8848"/>
  2. 重启客户端,Dubbo客户端连接到MSE Nacos。

    说明

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

步骤四:关闭自建Nacos集群

  1. 停止自建Nacos集群。

  2. 停止迁移工具。