Upgrade the Nacos engine version

更新时间:
复制 MD 格式

You can upgrade the Nacos engine version or migrate from the discontinued basic edition to the professional or developer edition in the MSE console.

Background

The basic edition of MSE Microservices Registry will be discontinued, and its instances will be terminated 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 Discontinuation of MSE Microservices Registry Basic Edition notice.

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. Before you begin, ensure that the provider instance count in your cluster does not exceed the capacity of your basic edition specifications. 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, avoid using restricted Nacos SDK versions. For details, 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. Migrate 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 a rolling deployment across the nodes with automatic data synchronization. This ensures a zero-downtime upgrade.

  • Instances with one or two nodes are not high availability instances, so the upgrade will cause downtime.

  • The upgrade is seamless for your services, but network reconnections may occur and generate reconnection logs. Monitoring data may also show temporary fluctuations due to the cluster restart.

  • 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 some registered instances. The Eureka client automatically retries registration during its next renewal cycle and recovers after connecting to a healthy 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.

image

Upgrade the Nacos engine version

Important
  • 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.

  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. You can start the upgrade from the console in one of two ways:

    Note

    If 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.

  4. In the Cluster Upgrade dialog box, click OK.

Upgrade the Nacos/Eureka basic edition

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

  2. 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.

  3. On the change specifications page, select a Product Edition:

    • For single-node instances, select Developer edition.

    • For multi-node instances, select Professional edition.

    Important

    The 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.

  4. 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:

Important

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 unregistered or Client not connected,current status:STARTING.

  • Cause: The client cannot establish a gRPC connection with the server. Follow these steps to troubleshoot:

    1. Test the network connectivity by running the command telnet ${nacos.server.address}:9848.

    2. Check whether your application and the MSE instance are in the same VPC.

    3. 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.