This topic describes the software development kit (SDK) versions supported by ApsaraMQ for RocketMQ.
SDK versions
The following table describes the SDKs and features that ApsaraMQ for RocketMQ supports.
In the following table, ✅ indicates that the feature is supported, and ❌ indicates that the feature is not supported.
Comparison item | ||||||
Protocol | gRPC protocol v2 | Remoting protocol | Remoting protocol | Remoting protocol | gRPC protocol v1 | HTTP protocol |
Accessible instances | 5.x series instances |
|
|
| 4.x series instances | 4.x series instances |
Recommendations | The 5.x gRPC SDK is recommended.
|
|
| |||
Sending normal, ordered, transactional, and scheduled messages | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Lightweight topic-based model | Supported | Not supported | Not supported | Not supported | Not supported | Not supported |
Concurrent consumption | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Ordered consumption of messages | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
✅ | ❌ | ❌ | ❌ | ❌ | ❌ | |
Broadcasting consumption | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ |
Stream consumption (for connecting to services such as Flink) | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
Message trace | ✅ | ✅ | Supported in versions 4.5.2 and later | ✅ | ✅ | ❌ |
✅ | ❌ | ❌ | ❌ | ❌ | ❌ | |
✅ | Supported only for 5.x series instances | ❌ | ❌ | ❌ | ❌ | |
SDK limits
Different consumers in the same consumer group must use clients with the same protocol.
When you perform a canary upgrade from a Remoting protocol SDK to a gRPC protocol SDK for the same consumer group, note the following:
Upgrades are not supported for consumer groups that deliver messages in order.
Smooth upgrades are supported for consumer groups that deliver messages concurrently. However, a small number of messages may be duplicated during the upgrade.
When sending messages to the same ordered topic, all producer clients must use the same protocol: either the Remoting protocol or the gRPC protocol.
For a consumer group that delivers messages in order, a consumer offset rollback may occur if you perform the following steps:
The ordered consumer group initially runs on a Remoting protocol SDK.
You upgrade the SDK to a gRPC protocol SDK.
You revert the SDK to the Remoting protocol SDK.
The RocketMQ ONS TCP 2.x SDK is supported only in some regions. For more information, see Limits.
RocketMQ 5.x gRPC SDKs
Protocol | Language | References |
gRPC protocol v2 | Java SDK | |
C# SDK | ||
Go SDK | ||
Python SDK | ||
C++ SDK |
RocketMQ 5.x Remoting SDK
Protocol | Language | References |
Remoting protocol | Java SDK |
RocketMQ 4.x/3.x SDKs
Protocol | Language | References |
Remoting protocol | Java SDK | |
C++ SDK |
RocketMQ ONS TCP 1.x SDKs
Protocol | Language | References |
Remoting protocol | Java SDK | |
C++ SDK | ||
.NET SDK |