Updated on 2024-10-15 GMT+08:00

Restrictions

Nacos engine version compatibility

CSE Nacos Engine Version

Nacos Community Compatibility

Compatibility

2.1.0.x

2.1.0

100%

The CSE Nacos engine is backward compatible with Nacos 2.1.0 and earlier versions. For example, if microservices use open-source Nacos 1.x.x, CSE Nacos can also be used.

The configuration center is compatible with all versions from Nacos 1.0, and service discovery is compatible with all versions from Nacos 1.2. Therefore, you are advised to use Nacos 1.2.0 and later versions. gPRC connection is supported in Nacos 2.x.x.

In Nacos 2.1.0 and later versions, the dual-write capability is disabled by default. Therefore, Nacos 1.x cannot be smoothly upgraded to Nacos 2.1.0+. To use smooth upgrade, from example, directly upgrade Nacos 1.x to Nacos 2.1.0+, nacos.core.support.upgrade.from.1x should be set to true in the application.properties file.

Relationship Between the Nacos Engine and Microservice Framework

CSE Nacos Engine Version

Spring Cloud Alibaba Version

Spring Cloud Version

Spring Boot Version

2.1.0.x

2022.0.0.0-RC*

Spring Cloud 2022.0.0

3.0.0

2021.0.4.0*

Spring Cloud 2021.0.4

2.6.11

2021.0.1.0

Spring Cloud 2021.0.1

2.6.3

2021.1

Spring Cloud 2020.0.1

2.4.2

2.2.10-RC1*

Spring Cloud Hoxton.SR12

2.3.12.RELEASE

2.2.9.RELEASE

Spring Cloud Hoxton.SR12

2.3.12.RELEASE

2.2.8.RELEASE

Spring Cloud Hoxton.SR12

2.3.12.RELEASE

2.2.7.RELEASE

Spring Cloud Hoxton.SR12

2.3.12.RELEASE

2.2.6.RELEASE

Spring Cloud Hoxton.SR9

2.3.2.RELEASE

2.2.1.RELEASE

Spring Cloud Hoxton.SR3

2.2.5.RELEASE

2.2.0.RELEASE

Spring Cloud Hoxton.RELEASE

2.2.X.RELEASE

2.1.4.RELEASE

Spring Cloud Greenwich.SR6

2.1.13.RELEASE

2.1.2.RELEASE

Spring Cloud Greenwich

2.1.X.RELEASE

2.0.4.RELEASE (Maintenance stopped. Upgrade is recommended.)

Spring Cloud Finchley

2.0.X.RELEASE

1.5.1.RELEASE (Maintenance stopped. Upgrade is recommended.)

Spring Cloud Edgware

1.5.X.RELEASE

Requirements for Microservice Development Framework of a ServiceComb Engine

The following table lists the recommended versions of the microservice development framework.

  • If you have used the microservice development framework of an earlier version to build applications, you are advised to upgrade it to the recommended version to obtain the stable and rich function experience.
  • If an application has been developed using the Spring Cloud microservice development framework, you are advised to use Spring Cloud Huawei to access the application.
  • If new microservice applications are developed based on open source and industry ecosystem components, you are advised to use the Spring Cloud framework.
  • If you want to use the out-of-the-box governance capability and high-performance RPC framework provided by ServiceComb engines, you are advised to use the Java chassis framework.

Framework

Recommended Versions

Description

Spring Cloud Huawei

1.10.9-2021.0.x or later

Uses Spring Cloud Huawei for connection.

  • Spring Cloud version 2021.0.5
  • Spring Boot 2.6.13

Version description of the Spring Cloud microservice development framework: https://github.com/huaweicloud/spring-cloud-huawei/releases

Java Chassis

2.7.10 or later

Uses the software package provided by the open-source project for connection without introducing third-party software packages.

Version description of the Java chassis microservice development framework: https://github.com/apache/servicecomb-java-chassis/releases.

During system upgrade and reconstruction, third-party software conflict is the most common issue. Traditional software compatibility management policies do not adapt to software development for fast software iteration. In this case, see Third-Party Software Version Management Policy for version compatibility.

Function Comparison Between Spring Cloud Huawei, ServiceComb, and Sermant

Level-1 Feature

Level-2 Feature

serviccomb-java-chassis

spring-cloud-huawei

sermant agent

Remarks

Microservice gateway

Rate limiting on the provider

-

Server isolation warehouse

-

Circuit breaker on the consumer

×

×

-

Fault tolerance on the consumer

×

×

-

Service downgrade on the consumer

×

×

×

-

Fault injection on the consumer

×

×

×

-

Load balancing

×

-

Dark launch

×

-

Graceful shutdown

×

-

Microservice governance

Graceful startup and shutdown

-

Hitless upgrade

-

Rate limiting on the provider

-

Fault tolerance on the consumer

-

Circuit breaker on the consumer

-

Service downgrade on the consumer

-

Server isolation bulkhead

-

Isolation bulkhead on the consumer

-

Load balancing

-

Dark launch

-

Full-link log tracing

×

-

Service governance status upload

×

-

Fail-fast

×

-

Fault injection

×

-

Blacklist and Whitelist

×

-

Registry and discovery

Local registry and discovery

×

-

Single registry–CSE

-

Single registry–service center

-

Dual registry

×

×

Dual registry indicates that a service is registered with two registry centers at the same time. Currently, the sermant injector supports registry with both the CSE and the native registry center of the host.

Configuration center

ServiceComb engine

Configurations, such as service governance rules and service configurations, can be delivered based on the configuration center.

Nacos engine

ServiceComb-Kie

ZooKeeper

×

×

Lightweight configuration center (zero-config)

×

×

apollo

×

×

×

Security

Security authentication

×

Authentication between service instances and the registry center and between the consumer and provider.

Development

Multi-protocol

×

×

Java chassis supports the following communication protocols for the consumer and provider:

  • Provider: JAX-RS, SpringMVC, and transparent RPC.
  • Consumer: transparent RPC, RestTemplate, and InvokerUtils.

Expansion

  • Allows users to process traffic by custom tracing.
  • Supports governance for expanded traffic.
  • Supports native Spring Cloud expansion.
  • Supports governance for expanded traffic.

New functions are added based on plug-in development.

-

Quotas

Quota is the maximum number of resources that can be created for engine instances. To increase the quota, click create a service ticket.

  • Table 1 lists the maximum number of resources that can be created in Nacos engine instances.
    Table 1 Nacos engine resource quota

    Resource

    Quota

    Modifiable

    Precaution

    Number of namespaces in a single Nacos instance

    50

    No

    -

    Size of a Nacos configuration file

    100 KB

    No

    -

    Size of a single Nacos namespace

    10 MB

    No

    -

    Bandwidth (sum of inbound and outbound bandwidths)

    2 Mbit/s

    No

    -

    Maximum number of configuration files of a Nacos instance

    10,000

    No

    -

  • Table 2 lists the maximum number of resources that can be created in ServiceComb engine instances.
    Table 2 Resource quota limits of ServiceComb engines

    Function

    Resource

    Quota

    Modifiable

    Precaution

    Microservice management

    Microservice versions

    10,000

    No

    -

    Data volume of a single instance (KB)

    200

    Yes

    Increasing quotas prolongs the microservice discovery latency.

    Number of contracts of a single microservice

    500

    No

    -

    Configuration management

    Data volume of a single configuration item (KB)

    128

    No

    -

    Data volume of an application-level configuration

    2,000

    No

    -

    Microservice governance

    Application-level governance policies

    1,000

    No

    A maximum of 1000 governance policies are supported.

    • A single governance policy contains governance rules and service scenarios. Governance rules and service scenarios occupy the same quota in the configuration center.
    • Microservice version: In the microservice scenario, a version is used to mark the iteration record of a microservice to facilitate management of different iterations of a microservice.
    • Microservice instance: An instance is the minimum running and deployment unit of a microservice. Generally, it corresponds to an application process. A microservice can be deployed in multiple containers or VMs to enable multiple instances to run at the same time.
    • Configuration item: The configuration in the microservice scenario is to control the values of some variables in the program code. For example, dynamic configuration is to dynamically change the values of some variables during microservice running.