All Products
Search
Document Center

Microservices Engine:Migrate Dubbo applications from a self-managed Nacos registry to an MSE Nacos registry

Last Updated:Mar 11, 2026

Microservices Engine (MSE) provides a managed Nacos registry with higher performance and capacity, broader service discovery protocol support, simplified operations, and flexible scalability compared to self-managed Nacos clusters. This guide walks you through migrating Dubbo applications from a self-managed Nacos registry to an MSE Nacos registry by using the MSE Sync tool, with minimal impact on running services.

How the migration works

MSE Sync establishes bidirectional synchronization between your self-managed Nacos registry and the MSE Nacos registry. With both registries kept in sync, you can migrate Dubbo clients incrementally -- switching them over in batches rather than all at once.

The process has four phases:

  1. Set up synchronization -- Configure MSE Sync to replicate service data between the two registries.

  2. Verify the sync -- Confirm that services appear correctly in the MSE Nacos registry.

  3. Switch Dubbo clients -- Update each client's registry endpoint and restart in batches.

  4. Decommission the old registry -- Shut down the self-managed Nacos registry and disable MSE Sync.

The following diagram shows the deployment architecture during migration.

Migration architecture

Prerequisites

Before you begin, make sure that you have:

Limits

LimitDescription
High availabilityIf MSE Sync goes down, synchronization stops. Deploy it on at least two nodes for redundancy, and complete the migration as soon as possible once it begins.
Client versionUse the Nacos 2.x client. If you are on Nacos 1.x, upgrade before you start.

Step 1: Create a synchronization task

Add the source registry

  1. In the MSE Sync tool, choose Cluster Configuration in the left-side navigation pane.

  2. Click New Cluster.

  3. In the New Cluster dialog box, configure the self-managed Nacos registry as follows, and then click OK.

    ParameterDescription
    Cluster NameA descriptive name for the source registry.
    Cluster TypeSelect NACOS.
    NamespaceIDThe namespace ID to use for service synchronization.
    username / passwordRequired only if Nacos authentication is enabled.
    AKThe AccessKey ID.
    SKThe AccessKey secret.
    Connect IPOne or more IP address and port combinations for the Nacos registry, one per line. The default port is 8848. If you use Server Load Balancer (SLB) for load balancing, enter the SLB IP address and port instead.

    Source cluster configuration

Add the destination registry

  1. Click New Cluster again.

  2. Configure the MSE Nacos registry as follows, and then click OK.

    ParameterDescription
    Cluster NameA descriptive name for the destination registry.
    Cluster TypeSelect NACOS.
    NamespaceIDThe namespace ID to use for service synchronization.
    username / passwordRequired only if Nacos authentication is enabled.
    AKThe AccessKey ID.
    SKThe AccessKey secret.
    Connect IPThe endpoint and port of the MSE Nacos registry. Example: mse-8b7de****-p.zk.mse.aliyuncs.com:8848.

    Destination cluster configuration

Create the sync task

  1. In the left-side navigation pane, click Synchronization Tasks.

  2. On the Service Synchronization page, click New Sync and configure the following settings:

    SettingValueDescription
    Sync ModeBidirectionService data is synchronized between both registries whenever either side updates. This keeps both registries consistent during the migration window.
    Sync TypeServiceMSE Sync automatically lists all applications registered with the source registry. Select the Dubbo services to migrate.

    Sync task configuration

  3. Click OK.

The selected services now appear on the Service Synchronization page.

Service synchronization page

Step 2: Verify the synchronization result

  1. Log on to the MSE console and select a region in the top navigation bar.

  2. In the left-side navigation pane, choose Microservices Registry > Instances.

  3. On the Instances page, click the name of your MSE Nacos instance.

  4. Choose Service Management > Services and verify that the Dubbo services from your self-managed registry are listed.

Step 3: Migrate the Dubbo clients

Point each Dubbo client to the MSE Nacos registry instead of the self-managed one.

Update the registry endpoint

Change the Nacos registry address in your Dubbo client configuration from the self-managed endpoint to the MSE Nacos endpoint.

XML configuration

Before:

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

After:

<dubbo:registry address="nacos://mse-********-p.nacos-ans.mse.aliyuncs.com:8848"/>

Replace mse-********-p.nacos-ans.mse.aliyuncs.com with the actual endpoint of your MSE Nacos registry.

Restart the clients

Restart the Dubbo clients to connect them to the MSE Nacos registry.

Important

Restart clients in batches to maintain service continuity. After each batch, verify that the restarted clients have registered successfully with the MSE Nacos registry before proceeding to the next batch.

Step 4: Decommission the self-managed Nacos registry

After all Dubbo clients are connected to the MSE Nacos registry:

  1. Shut down the self-managed Nacos registry.

  2. Disable the MSE Sync tool.

Important

Before you shut down the self-managed registry, confirm that all services have been fully migrated. Bidirectional sync allows you to roll back by pointing clients back to the self-managed registry, but this is no longer possible once the old registry is shut down. Treat this step as the point of no return.