Message Queue for Apache RocketMQ provides HTTP SDKs for multiple languages and supports access over the Internet. This topic describes the features supported by each version of the HTTP SDKs for multiple languages and their use requirements.

Multi-language support

Message Queue for Apache RocketMQ supports RESTful HTTP communication and provides SDKs in the following seven languages:

SDK support and sample code

Go to Message Queue for Apache RocketMQ HTTP SDK repositories to download the SDKs of the required languages, to read SDK instructions, and to view sample code for sending and subscribing to messages.

Use requirements

HTTP uses XML serialization. Therefore, the message attributes, content, tags, and keys must comply with XML specifications.

If they contain characters that do not comply with XML specifications, the following errors may occur:

  • Failed to send messages over HTTP.
  • Failed to consume messages over HTTP when sending messages over TCP.

You can encode or decode messages in Base64 mode for the scenarios where messages are not sent or received according to XML specifications.

The features supported by HTTP are gradually consistent with the features supported by TCP through continuous iteration. The following sections compare the features supported by the various HTTP versions with those of the latest TCP version.

V1.0.1

Date: June 10, 2019

Message Queue for Apache RocketMQ HTTP SDK V1.0.1 is described as follows:

Notice The SDK version is V1.0.2 for Node.js and is V1.0.1 for other languages.
  • This version supports featured messages such as scheduled messages (the maximum scheduled time cannot exceed 3 days), delayed messages, and transactional messages. Ordered messages are not supported.
  • The clustering consumption pattern is supported but the broadcasting consumption pattern is not supported.
  • Message traces can be queried only by message ID.
  • The group IDs of TCP-based instances cannot be used for HTTP-based instances and vice versa. You need to create a group ID for a TCP-based instance and an HTTP-based instance separately.

V1.0.0

Date: January 30, 2019

Message Queue for Apache RocketMQ HTTP SDK V1.0.0 is described as follows:

Notice The SDK version is V1.0.1 for Node.js and is V1.0.0 for other languages.
  • This version supports featured messages such as ordered messages, transactional messages, scheduled messages, and delayed messages.
  • The clustering consumption pattern is supported but the broadcasting consumption pattern is not supported.
  • Currently, message trace query is not supported.
  • The group IDs of TCP-based instances cannot be used for HTTP-based instances and vice versa. You need to create a group ID for a TCP-based instance and an HTTP-based instance separately.