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:
Set up synchronization -- Configure MSE Sync to replicate service data between the two registries.
Verify the sync -- Confirm that services appear correctly in the MSE Nacos registry.
Switch Dubbo clients -- Update each client's registry endpoint and restart in batches.
Decommission the old registry -- Shut down the self-managed Nacos registry and disable MSE Sync.
The following diagram shows the deployment architecture during migration.
Prerequisites
Before you begin, make sure that you have:
The MSE Sync tool deployed. For details, see Migration solution based on MSE Sync
A Nacos engine created in MSE. For details, see Create a Nacos engine
Network connectivity established among the self-managed Nacos registry, MSE Sync, and the MSE Nacos registry
Limits
| Limit | Description |
|---|---|
| High availability | If 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 version | Use 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
In the MSE Sync tool, choose Cluster Configuration in the left-side navigation pane.
Click New Cluster.
In the New Cluster dialog box, configure the self-managed Nacos registry as follows, and then click OK.
Parameter Description Cluster Name A descriptive name for the source registry. Cluster Type Select NACOS. NamespaceID The namespace ID to use for service synchronization. username / password Required only if Nacos authentication is enabled. AK The AccessKey ID. SK The AccessKey secret. Connect IP One 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. 
Add the destination registry
Click New Cluster again.
Configure the MSE Nacos registry as follows, and then click OK.
Parameter Description Cluster Name A descriptive name for the destination registry. Cluster Type Select NACOS. NamespaceID The namespace ID to use for service synchronization. username / password Required only if Nacos authentication is enabled. AK The AccessKey ID. SK The AccessKey secret. Connect IP The endpoint and port of the MSE Nacos registry. Example: mse-8b7de****-p.zk.mse.aliyuncs.com:8848.
Create the sync task
In the left-side navigation pane, click Synchronization Tasks.
On the Service Synchronization page, click New Sync and configure the following settings:
Setting Value Description Sync Mode Bidirection Service data is synchronized between both registries whenever either side updates. This keeps both registries consistent during the migration window. Sync Type Service MSE Sync automatically lists all applications registered with the source registry. Select the Dubbo services to migrate. 
Click OK.
The selected services now appear on the Service Synchronization page.

Step 2: Verify the synchronization result
Log on to the MSE console and select a region in the top navigation bar.
In the left-side navigation pane, choose Microservices Registry > Instances.
On the Instances page, click the name of your MSE Nacos instance.
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.
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:
Shut down the self-managed Nacos registry.
Disable the MSE Sync tool.
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.