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 | Compatible | All features of ApsaraMQ for RocketMQ 5.x instances are supported. | |
Remoting | 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. | ||
Compatible | ||||
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 | Compatible | All features of ApsaraMQ for RocketMQ 4.x instances are supported. | ||
Compatible | ||||
gRPC v1 | Compatible | |||
HTTP | 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 |
| 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. |
|
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 upgrade your instance, 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.
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.