All Products
Search
Document Center

ApsaraMQ for RocketMQ:Differences between ApsaraMQ for RocketMQ 4.x and 5.x and compatibility description

Last Updated:Sep 04, 2024

ApsaraMQ for RocketMQ is a distributed platform developed by Alibaba Cloud based on Apache RocketMQ. Featuring low latency, high concurrency, high availability, and high reliability, the platform is used to process messages, events, and streams in a centralized manner. After Apache RocketMQ 5.0 is released, Alibaba Cloud develops ApsaraMQ for RocketMQ 5.x brokers, which provide more reliable services compared with earlier versions. This topic describes the differences between ApsaraMQ for RocketMQ 5.x instances and 4.x instances. This topic also describes the version compatibility between ApsaraMQ for RocketMQ instances and SDKs and the feature compatibility between ApsaraMQ for RocketMQ 4.x instances and 5.x instances.

Advantages of ApsaraMQ for RocketMQ 5.x instances

Compared with previous versions of ApsaraMQ for RocketMQ instances, ApsaraMQ for RocketMQ 5.x instances have the following advantages:

  • More advanced architecture

    ApsaraMQ for RocketMQ 5.x instances use a messaging architecture that decouples computing from storage. This allows you to perform separate scaling on storage and computing resources to ensure flexible O&M, high scalability, and high performance.

  • Easier development

    The client SDKs that are used to access ApsaraMQ for RocketMQ 5.x instances are the same as the client SDKs that are used to access Apache RocketMQ. ApsaraMQ for RocketMQ 5.x instances are compatible with all earlier versions of SDKs and API operations.

    Security identification can be performed in a virtual private cloud (VPC). You need to change only the endpoint when you migrate your business data to the cloud.

  • Simpler O&M

    To resolve pain points in capacity usage evaluation, traffic scaling, and canary releases, solutions such as self-adaptive scaling and lightweight test environments are provided. This simplifies O&M operations and reduces O&M risks.

  • More flexible costs

    ApsaraMQ for RocketMQ 5.x instances use optimized cloud base technologies to support the elastic transactions per second (TPS) feature and allow you to reserve messaging TPS. You do not need to reserve a large specification if a small amount of bursty traffic is required for your business.

    The pay-as-you-go billing method is used for message storage on ApsaraMQ for RocketMQ 5.x brokers. This provides higher scalability compared with mounted cloud disks.

  • A wider choice of instance types

    A more comprehensive tiered pricing policy is provided. The subscription and pay-as-you-go billing methods are supported.

Limits on the version compatibility between instances and SDKs

ApsaraMQ for RocketMQ 5.x instances are compatible with most TCP client SDKs. The following table describes the version compatibility between instances and SDKs. For example, if you use an SDK that corresponds to ApsaraMQ for RocketMQ 5.x instances to access an ApsaraMQ for RocketMQ 5.x instance, you can use all features provided by the instance. If you use an SDK that corresponds to ApsaraMQ for 4.x instances to access an ApsaraMQ for RocketMQ 5.x instance, you cannot obtain specific metrics or message trace data.

Instance version

Protocol

Client version

Compatibility

Limit

ApsaraMQ for RocketMQ 5.x instance

gRPC v2

Apache RocketMQ 5.x SDKs

Compatible

All features of ApsaraMQ for RocketMQ 5.x instances are supported.

Remoting

Apache RocketMQ 3.x and 4.x SDKs

Compatible

The messaging feature is supported. Message trace data and specific metrics cannot be displayed.

Note

Metrics that are related to producers and consumers cannot be displayed. For more information, see Metric details.

Apache RocketMQ TCP client 1.x SDKs

Compatible

gRPC v1

ApsaraMQ for RocketMQ TCP client 2.x SDKs

Incompatible

ApsaraMQ for RocketMQ 5.x instances cannot be accessed by using Apache RocketMQ TCP client 2.x SDKs.

HTTP

ApsaraMQ for RocketMQ HTTP client SDKs

Incompatible

ApsaraMQ for RocketMQ 5.x SDKs do not support the HTTP protocol.

ApsaraMQ for RocketMQ 4.x instance

gRPC v2

ApsaraMQ for RocketMQ 5.x SDKs

Incompatible

You cannot access ApsaraMQ for RocketMQ 4.x instances by using SDKs that correspond to ApsaraMQ for RocketMQ 5.x instances.

Remoting

Apache RocketMQ 3.x and 4.x SDKs

Compatible

All features of ApsaraMQ for RocketMQ 4.x instances are supported.

Apache RocketMQ TCP 1.x SDKs

Compatible

gRPC v1

Apache RocketMQ TCP client 2.x SDKs

Compatible

HTTP

Apache RocketMQ HTTP client SDKs

Compatible

Feature compatibility between ApsaraMQ for RocketMQ 4.x and 5.x instances

Alibaba Cloud optimizes specific features of ApsaraMQ for RocketMQ 5.x instances based on large-scale application and practices in enterprises to improve messaging efficiency. Specific parameters and features of ApsaraMQ for RocketMQ 5.x instances are different from the parameters and features of ApsaraMQ for RocketMQ 4.x instances. The differences have no impact on the messaging system. Before you upgrade your existing ApsaraMQ for RocketMQ 4.x instance to an ApsaraMQ for RocketMQ 5.x instance, we recommend that you evaluate the risk.

The following table describes the feature differences between ApsaraMQ for RocketMQ 4.x instances and 5.x instances.

Feature

ApsaraMQ for RocketMQ 4.x instance

ApsaraMQ for RocketMQ 5.x instance

Description

Maximum scheduled time for sending scheduled messages

40 days

  • Subscription and pay-as-you-go Standard Edition instances and serverless Standard Edition and Professional Edition instances: 7 days.

  • Subscription and pay-as-you-go Professional Edition and Enterprise Platinum Edition instances: 40 days.

If you specify a large value for this parameter, system instability may occur. We recommend that you specify a small value to simulate business scenarios. For more information, see Scheduled and delayed messages.

If you want to migrate an existing ApsaraMQ for RocketMQ 4.x instance and the maximum scheduled time cannot meet your business requirements, submit a ticket.

HTTP

Supported.

Not supported.

ApsaraMQ for RocketMQ 5.x instances do not support the HTTP protocol. If you use the HTTP protocol for your existing ApsaraMQ for RocketMQ 4.x instance, we recommend that you do not upgrade the instance.

Authorization policy for a RAM user

You can grant permissions to a Resource Access Management (RAM) user in the data system and management system.

You can grant permissions to a RAM user in the management system. The authorization policies used for ApsaraMQ for RocketMQ 5.x instances are different from the authorization policies used for ApsaraMQ for RocketMQ 4.x instances.

  • ApsaraMQ for RocketMQ 5.x instances use Alibaba Cloud Resource Names (ARNs) and policies with higher standards. You must reauthorize existing RAM users before you can use the RAM users to access ApsaraMQ for RocketMQ 5.x instances. For more information, see Custom policies for ApsaraMQ for RocketMQ.

  • The access control list (ACL) 2.0 feature of Apache RocketMQ is used for ApsaraMQ for RocketMQ 5.x instances. You cannot use RAM users to access ApsaraMQ for RocketMQ 5.x instances for messaging. For more information, see User authentication.

Global message routing

Supported.

Not supported.

The global message routing feature is not supported by ApsaraMQ for RocketMQ 5.x. You can use the Message Integration module to synchronize messages between instances. For more information, see Overview.

Message type

Unlimited.

Strictly limited.

In ApsaraMQ for RocketMQ 5.x, message types are maintained and processed separately in topics. The system forcibly verifies the type of sent messages against the message type defined for a topic. If the verification fails, message delivery requests are rejected, and a type mismatch error is returned. For more information, see Behavior constraints.

Limits on instance purchase

  • All users can purchase and activate ApsaraMQ for RocketMQ 5.x instances.

  • Only existing users can purchase ApsaraMQ for RocketMQ 4.x instances. We recommend that you upgrade your instance version to 5.x at the earliest opportunity. To do so, submit a ticket.

Upgrade description

You cannot use an upgrade tool to upgrade an ApsaraMQ for RocketMQ 4.x instance to an ApsaraMQ for RocketMQ 5.x instance. If you want to upgrade your existing ApsaraMQ for RocketMQ instances to ApsaraMQ for RocketMQ 5.x instances, perform the steps described in the following figure.迁移流程

Note

In Step 2 of the preceding figure, you can use the topic data export and import feature and the group data export and import feature to quickly create topics and groups. For more information, see Export and import topic data and Export and import group data.

The following figure provides a solution to migrate your business data from an existing ApsaraMQ for RocketMQ instance to an ApsaraMQ for RocketMQ 5.x instance.

迁移业务