All Products
Search
Document Center

ApsaraMQ for RocketMQ:Basic concepts

Last Updated:Mar 11, 2026

ApsaraMQ for RocketMQ organizes messaging around a three-phase lifecycle. Understanding these phases and the terms within each helps you design messaging workflows and navigate the rest of the documentation.

  1. Production -- A producer builds a message from business data and sends it to the server.

  2. Storage -- The server stores the message in a queue within a topic.

  3. Consumption -- A consumer retrieves the message, processes it, and reports the result.

Message production

Producer

A producer is a running entity that builds and sends messages to the ApsaraMQ for RocketMQ server. Producers are typically integrated into business systems -- they encapsulate business data into messages and send them to the server.

For more information, see Producers.

Transaction checker

A transaction checker is a listener on the producer side that verifies local transaction status and recovers from abnormal transactions. The transaction checker must check and determine the resolution of a transactional message based on the status of the business data.

For more information, see Transactional messages.

Transaction resolution

A transaction resolution is an identifier for the commit status of a transactional message during the sending process. The server uses this value to decide whether to commit and deliver the message to consumers. Three resolutions are available: commit, rollback, and pending.

For more information, see Transactional messages.

Message storage

Topic

A topic is the top-level container for message transmission and storage. Each topic groups messages that belong to the same business category and is uniquely identified by its name.

For more information, see Topics.

Lite topic

A lite topic is a sub-container created under a topic of the Lite type. The storage container for messages is uniquely identified by the combination of the parent topic and the lite topic. By default, each storage container consists of one queue.

For more information, see Lite topic model.

Message queue

A message queue is the actual container for storing and transmitting messages in ApsaraMQ for RocketMQ, and also the smallest storage unit. Every topic consists of multiple queues, each identified by a unique QueueId. This design enables:

  • Horizontal splitting -- Splitting message storage across queues for parallel processing.

  • Streaming storage -- Maintaining streaming storage within each queue.

For more information, see Message queues.

Message

A message is the smallest unit of data transmission. A producer encapsulates the payload and extended properties of business data into a message and sends it to the server. The server then delivers the message to consumers based on the relevant semantics.

For more information, see Messages.

Message type

ApsaraMQ for RocketMQ classifies messages by their transmission characteristics. Message types are used for type management and security verification. The following types are supported:

Message typeDescription
Normal messageStandard message with no special delivery guarantees beyond at-least-once.
Ordered messageDelivered to consumers in the same order as sent, enabling sequential processing.
Transactional messageEnsures eventual consistency between message production and a local transaction in distributed scenarios.
Scheduled and delayed messageDelivered to consumers only after a specified time, enabling delayed scheduling and triggering.
Lite messageSupports the dynamic creation of millions of lite topics with automated lifecycle management and high-performance subscriptions.

Message properties

The following properties are associated with messages in ApsaraMQ for RocketMQ:

PropertyDescription
Message tagA label for fine-grained classification within a topic. Consumers subscribe to specific tags to receive only matching messages. See Message filtering.
Message keyAn index property that enables fast lookup of a specific message by its business identifier.
Message offsetA unique Long-type coordinate that identifies the position of a message within its queue. Messages are stored in the order they arrive at the server. See Consumer progress management.
Message viewA read-only interface that exposes the properties and payload of a message. Use a message view to inspect a message without modifying it.

Message consumption

Consumer group

A consumer group is a logical resource that organizes multiple consumers with identical consumption behaviors into a load-balancing group. A consumer group is not a running entity itself -- individual consumers within the group are.

Adding more consumers to a consumer group provides:

  • Horizontal scaling for higher consumption throughput.

  • High-availability disaster recovery for continuous message processing.

For more information, see Consumer groups.

Consumer

A consumer is a running entity that receives and processes messages from the ApsaraMQ for RocketMQ server. Consumers are typically integrated into business systems. They retrieve messages from the server and convert them into business-intelligible information for downstream processing.

For more information, see Consumers.

Subscription

A subscription defines the rules and status for how a consumer group retrieves and processes messages. Consumer groups dynamically register subscriptions with the server. During message delivery, the server uses the filtering rules in the subscription to match messages and track consumer progress.

For more information, see Subscriptions.

Message filtering

Message filtering lets consumers receive only a subset of messages from a topic by subscribing to specific message tags. The server evaluates filtering rules and delivers only the matching messages, reducing unnecessary processing on the consumer side.

For more information, see Message filtering.

Consumption result

A consumption result is the status returned by a PushConsumer's message listener after processing a message. It indicates whether the message was handled correctly. Two results are possible:

  • Success -- The message was processed without errors.

  • Failure -- The message processing failed.

Consumer offset

A consumer offset records how far a consumer group has progressed through a queue. After a message is consumed, it is not immediately deleted from the queue. Instead, the server tracks the offset of the most recently consumed message for each consumer group.

For more information, see Consumer progress management.

Consumer offset resetting

Consumer offset resetting resets a consumer group's consumption progress for its subscribed topics to a specific point in time. After a reset, consumers receive only messages sent after the specified timestamp.

For more information, see Reset consumer offsets.

Observability

Message trace

A message trace captures the end-to-end path of a message as it moves from producer to server to consumer. At each node, the trace records timestamps, locations, and processing details. Use message traces to troubleshoot delivery issues and diagnose processing bottlenecks.

Message accumulation

Message accumulation occurs when producers send messages faster than consumers can process them. Unconsumed messages build up on the server.