MSE Microservices Registry common instances are available in professional and developer editions (the basic edition is no longer sold or updated). MSE Nacos also has its own engine version. This topic describes how to upgrade the Nacos engine version in the MSE console.
Background
To provide better services and simplify MSE Microservices Registry edition selection, MSE Microservices Registry will discontinue basic edition services and release instance resources at 12:00 (UTC+8) on March 3, 2025. After this time, you will no longer be able to access these instances from the console or your applications. Support and ticket services for basic edition instances will remain available until the deadline. For more details, see the MSE Microservices Registry Basic Edition Discontinuation Announcement.
Before you begin
Select an instance edition: Before upgrading, refer to the Instance Edition Selection Guide to decide whether to upgrade to the developer or professional edition. For billing details, see Billing Overview of Common Instances.
Evaluate specifications: During the upgrade, MSE Nacos performs a doublewrite on registered service data to ensure data consistency and upgrade stability. Before you begin, ensure that the provider instance count in your cluster does not exceed the maximum instance count for the basic edition of the corresponding specifications, to avoid the doublewrite impacting your services during the upgrade. For more information, see Evaluate the Capabilities of Common Instances.
Check the engine version: You can upgrade a basic edition instance to the professional or developer edition only if your Nacos engine is version 1.2.1.0 or later. If you are using a 1.1.3.x version, you must first upgrade to version 1.2.1 and then upgrade the instance edition. For instructions, see Upgrade the Nacos engine version.
Review engine version compatibility: For details about MSE Nacos engine version features, see Nacos engine versions. For system stability, we recommend avoiding restricted Nacos SDK versions. For the reasons and solutions, see Restricted Nacos SDK versions.
Eureka engine: The MSE-managed Eureka service has been discontinued. MSE Nacos supports the Eureka protocol and is compatible with Eureka clients. We recommend migrating your Eureka basic edition instances to MSE Nacos professional or developer edition.
Upgrade impact
The upgrade takes about 10 minutes. During this time, you cannot perform any operations on the instance in the console. We recommend performing the upgrade during off-peak hours to avoid disrupting your services.
For instances with three or more nodes, the upgrade uses rolling deployment across nodes with automatic data synchronization, ensuring a zero-downtime upgrade.
For most services, the upgrade is lossless. However, network reconnections during the upgrade may generate some reconnection and access error logs. This is expected behavior. Monitoring data may also show brief fluctuations due to the cluster restart.
In some special scenarios, a lossless upgrade may not be guaranteed. Before performing an upgrade, check for the following conditions:
Instances with one or two nodes are not high availability (HA) instances, so the upgrade will cause downtime.
If you are using an older client version, there is a very low probability that packet loss or other unknown anomalies during the upgrade may trigger a client bug, causing your services to go offline. In this case, the upgrade will cause downtime.
If you are using a lower version of Spring Cloud Alibaba and have configured the Spring Cloud Actuator health check path as the
livenessorreadinessprobe for your service, due to a bug in older Spring Cloud Alibaba versions, there is a very low probability that probe failure could cause your application to restart automatically. In this case, the upgrade will cause downtime.
When upgrading from a Eureka engine to the Nacos professional or developer edition:
You do not need to modify your application code.
Network reconnections during the upgrade may cause heartbeat renewal to fail for a small number of registered instances. Eureka clients automatically retry registration at their next renewal and recover after connecting to a healthy server node.
By default, a Eureka basic edition instance is migrated to the Nacos developer or professional edition with engine version 2.1.2.2. You can later upgrade to the latest Nacos version. For more information, see Upgrade the Nacos engine version.
Upgrade path
You can upgrade from the basic edition to the professional or developer edition only if your Nacos engine is version 1.2.1.0 or later. If you are using a 1.1.3.x version, you must first upgrade the engine to version 1.2.1. For instructions, see Upgrade the Nacos engine version.
Upgrade the Nacos engine version
Nacos 1.1.3 is discontinued and no longer maintained. To avoid issues, upgrade your engine version to 1.2.1 or later as soon as possible.
You cannot roll back the version from the console after the upgrade. If you have any questions, join the DingTalk group with the ID 43525005207 for assistance.
-
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.
You can start the upgrade from the console in one of two ways:
NoteIf the target instance is already the latest version, the Manual Upgrade option is not displayed.
Method 1
On the Instances page, find the target instance and click Manual Upgrade in the Engine Version column.
Method 2
On the Instances page, click the instance you want to upgrade. On the Basic Information page, click Manual Upgrade next to Engine Version.
In the Cluster Upgrade dialog box, click OK.
Upgrade the Nacos/Eureka basic edition
-
Log on to the MSE console, and select a region in the top navigation bar.
-
On the Instances page, find the MSE instance, and click More in the Actions column.
-
For a subscription instance, select Upgrade or Downgrade based on your business requirements.
-
For a pay-as-you-go instance, select Upgrade/Downgrade.
-
On the change specifications page, select a Product Edition:
For single-node instances, select Developer edition.
For multi-node instances, select Professional edition.
ImportantThe following limitations apply when you change the Product Edition:
A Basic Edition instance can be upgraded to the Developer Edition or Professional Edition.
A Developer Edition instance can only be upgraded to a later version of the Developer Edition. It cannot be upgraded to the Professional Edition.
A Professional Edition instance can only be upgraded to a later version of the Professional Edition. It cannot be downgraded to the Developer Edition.
Confirm the Engine specification and Number of Cluster Nodes. After you verify the total cost in the lower-right corner, click Buy now.
FAQ
Client versions
Q: Does the professional edition support older clients?
The configuration center is compatible with Nacos client 1.0.0 and later. Service discovery is compatible with Nacos client 1.2.0 and later. Nacos 1.x.x clients do not support persistent connections, so we recommend using Nacos client 2.0.0 or later.
Q: How to upgrade Spring Cloud Alibaba or Dubbo clients?
Spring Cloud Alibaba
To upgrade the Nacos client for Spring Cloud Alibaba, specify it in your dependencies:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${springcloudalibaba.version}</version>
<exclusions>
<exclusion>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${springcloudalibaba.version}</version>
<exclusions>
<exclusion>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>2.0.2</version>
</dependency>Dubbo
To upgrade the Nacos client for Dubbo, specify it in your dependencies:
Dubbo version 2.7.8 has a critical bug that creates excessive Nacos client instances, leading to a surge in connections and threads. Upgrade your Dubbo version before upgrading the Nacos client. For more information, see the issue details.
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-registry-nacos</artifactId>
<version>${dubbo.version}</version>
<exclusions>
<exclusion>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>2.0.2</version>
</dependency>Errors after upgrading
Error: Connection is unregistered or Client not connected,current status:STARTING
Symptom: After you upgrade an MSE instance to the professional edition and update the Nacos client in your application, the application fails to start and reports the error
Connection is unregisteredorClient not connected,current status:STARTING.Cause: The client cannot establish a gRPC connection with the server. Follow these steps to troubleshoot:
Test the network connectivity by running the command
telnet ${nacos.server.address}:9848.Check whether your application and the MSE instance are in the same VPC.
If you are connecting over the internet, you must first configure a public IP address whitelist.
You do not need to change the port configuration in your application. Keep it set to 8848. The Nacos client automatically calculates the correct gRPC port.
Error: Nacos cluster is running with 1.X mode, can't accept gRPC request temporarily.
Symptom: After you upgrade MSE to the professional edition and the application client, a startup error occurs:
"Nacos cluster is running with 1.X mode, can't accept gRPC request temporarily.”.Cause: The MSE professional edition performs a doublewrite to synchronize data between old and new versions and ensure consistency. During this process, it temporarily rejects requests from Nacos 2.0.0 clients. Requests from Nacos 1.x.x clients and console operations are not affected. The switchover completes automatically, typically in 5 to 20 minutes depending on instance size.
Recommendation: Wait a few minutes and restart your application.