This topic describes how to migrate microservice applications from a self-managed Eureka registry to a Microservices Engine (MSE) Nacos registry with minimal downtime. The migration uses the MSE Sync tool for bidirectional service synchronization, keeping your applications available throughout the process.
How it works
MSE Sync bridges your self-managed Eureka instance and the MSE Nacos instance by synchronizing service registrations in real time. During migration, both registries stay in sync:
Applications still connected to Eureka can discover services that have already moved to Nacos.
Applications already on Nacos can discover services still registered with Eureka.
After all applications switch to Nacos, you decommission the Eureka instance and stop MSE Sync.
Prerequisites
Before you begin, make sure that you have:
Network connectivity among the self-managed Eureka instance, the MSE Sync tool, and the MSE Nacos instance
Limitations
If the MSE Sync tool goes down, synchronization stops. Deploy MSE Sync on at least two nodes for high availability.
Complete the migration as quickly as possible after starting. The sync bridge is a transitional state, not a long-term architecture.
Step 1: Create a migration task
Add the source Eureka cluster
In the left-side navigation pane of the MSE Sync tool, click Cluster Configuration.
Click Add Cluster.
In the Add Cluster dialog box, configure the following parameters and click OK.
Parameter Description Cluster Name Enter a name for the source instance. Cluster Type Select EUREKA. Cluster IP Address List Enter the IP address and port of the source Eureka instance, one entry per line. The default port is 8761. If the source instance uses a Server Load Balancer (SLB) instance, enter the SLB IP address and port instead.
Add the destination Nacos cluster
On the Cluster Configuration page, click Add Cluster again.
In the Add Cluster dialog box, configure the following parameters and click OK.
Parameter Description Cluster Name Enter a name for the destination instance. Cluster Type Select Nacos. Namespace The default namespace is public. Username / Password Required only if Nacos authentication is enabled. Cluster IP Address List Enter the endpoint and port of the MSE Nacos instance. The default port is 8848. Example: mse-xxxxxxx-p.nacos-ans.mse.aliyuncs.com:8848.
Create a sync task
In the left-side navigation pane, click Service Synchronization.
Click New Sync.
In the New Sync dialog box, configure the sync task:
Sync Mode: Select Bidirection. In this mode, service registrations sync both ways -- changes on either side are propagated to the other.
Sync Type: Select Service Information. MSE Sync automatically lists all applications registered with the source Eureka instance. Select the applications to migrate based on your requirements.
Click OK.
The synchronized application names appear on the Service Synchronization page.
Step 2: Verify the synchronization result
Log in 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 the MSE Nacos instance.
In the left-side navigation pane, choose Service Management > Services.
Verify that the applications you selected in Step 1 appear in the service list with the expected number of instances.
Step 3: Migrate the client
Replace the endpoint of the self-managed Eureka instance with the endpoint of the MSE Nacos instance.
Restart the client to connect to the MSE Nacos instance.
ImportantRestart applications in batches to maintain business continuity. After each batch, verify that the restarted applications appear as healthy instances in the MSE Nacos console before proceeding to the next batch.
After all applications are restarted, confirm that every application is registered with the MSE Nacos instance by checking the Services page in the MSE console.
Step 4: Decommission the old registry
After all applications are connected to MSE Nacos:
Shut down the self-managed Eureka instance.
Stop the MSE Sync tool.