This topic describes terms used in ApsaraMQ for RocketMQ to help you better understand and use the service.
topic
A topic is used to classify messages. Topics are the primary classifier of messages. For more information, see Best practices of topics and tags.
message
In ApsaraMQ for RocketMQ, a message is a carrier used to transfer information.
message ID
The globally unique identifier of a message. Message IDs are automatically generated by ApsaraMQ for RocketMQ.
message key
A message key is a unique identifier used to identify the business logic of a message. Message keys are specified by message producers.
tag
A tag is used to further classify messages within a topic. Tags are a secondary classifier of messages. For more information, see Best practices of topics and tags.
producer
A producer, also known as a message publisher, produces and sends messages.
producer instance
A producer instance refers to a producer client. Different producer instances can run in different processes or on different machines. Producer instances are thread-safe. A producer instance can run multiple threads in the same process.
consumer
A consumer, also known as a message subscriber, receives and consumes messages. In ApsaraMQ for RocketMQ, consumers can be divided into the following types:
Push consumer: ApsaraMQ for RocketMQ pushes messages to consumers of this type.
Pull consumer: Consumers of this type actively pull messages from ApsaraMQ for RocketMQ. Only the TCP SDK for Java supports this type of consumer.
ImportantIf you want to use pull consumers, make sure that your ApsaraMQ for RocketMQ instance is an Enterprise Platinum Edition instance.
For more information, see Methods and parameters and Subscribe to messages.
consumer offset
A topic can contain multiple partitions. The total number of messages in a partition is known as the maximum offset (MaxOffset). The start point of a partition is known as the minimum offset (MinOffset).
In ApsaraMQ for RocketMQ, pull consumers consume messages in a partition in sequence and record the number of consumed messages, which is known as the consumer offset. The number of unconsumed messages (accumulated messages) in a partition is the difference between the maximum offset (MaxOffset) and the consumer offset (ConsumerOffset).
consumer instance
A consumer instance refers to a consumer client. Different consumer instances can run in different processes or on different machines. A consumer instance uses a thread pool to consume messages.
group
A group of producers or consumers. Clients in a producer or consumer group produce or consume messages of the same type and publish or subscribe to messages based on the same logic.
group ID
A group ID is used to identify a group.
message queue
Also known as topic partition. A topic partition is a physical partition. A topic can contain one or more queues. When you create a topic, the system automatically assigns the queues. You cannot change the number of queues in a topic.
clustering consumption
In clustering consumption mode, the system evenly distributes messages in a topic to consumers in a consumer group. For example, a topic contains nine messages, and a consumer group contains three consumers. In this mode, each consumer consumes three messages. For more information, see Clustering consumption and broadcasting consumption.
broadcasting consumption
In broadcasting consumption mode, each consumer in a consumer group consumes each message in a topic to which the consumer group subscribes. For example, a topic contains nine messages, and a consumer group contains three consumers. In this mode, each consumer consumes nine messages. For more information, see Clustering consumption and broadcasting consumption.
scheduled message
Scheduled messages are messages delivered by ApsaraMQ for RocketMQ brokers to consumers at a specific point in time. For more information, see Scheduled messages and delayed messages.
delayed message
Delayed messages are messages delivered by ApsaraMQ for RocketMQ brokers to consumers after a specific period of time. For more information, see Scheduled messages and delayed messages
transactional message
ApsaraMQ for RocketMQ provides a distributed transaction feature similar to eXtended Architecture (X/Open XA) to ensure the ultimate consistency of distributed transactions. This feature is known as transactional messages. For more information, see Transactional messages.
ordered message
Ordered messages are a type of message provided by ApsaraMQ for RocketMQ. Ordered messages are published and consumed in strict first-in, first-out (FIFO) order. For more information, see Ordered messages.
partitionally ordered message
Messages in a specific topic are partitioned based on sharding keys. Messages in each partition are published and consumed in strict FIFO order. A sharding key is the key field based on which ApsaraMQ for RocketMQ partitions ordered messages in a topic. A sharding key cannot be used as a message key. For more information, see Ordered messages.
message accumulation
If consumers are not allocated sufficient resources to consume all messages sent by producers in a short period of time, the messages are stacked and stored on the ApsaraMQ for RocketMQ broker. This phenomenon is called message accumulation.
Number of accumulated messages = Number of inflight messages + Number of ready messages. The following figure describes the metrics:

message filtering
Consumers can specify tags as filters to obtain the type of message that they want to consume. Message filtering is completed on ApsaraMQ for RocketMQ brokers. For more information, see Message filtering.
message trace
A message trace includes complete information about a message from the point in time when the message is published by the producer to the point in time when the message is consumed by a consumer, such as the timestamp and location of the message. A message trace records the complete route of a message, from a producer to an ApsaraMQ for RocketMQ broker, then to a consumer. Message traces can help you troubleshoot issues. For more information, see Query message traces.
consumer offset resetting
You can use the timeline as the coordinate and reset the consumer progress of the topics to which the consumer group subscribes within the time range of persistent storage (three days by default). After the setting is complete, consumers can receive messages sent to the ApsaraMQ for RocketMQ broker after the specified time point. For more information, see Reset consumer offsets.
dead-letter queue
Dead-letter queues are used to process messages that cannot be consumed. When a message fails to be consumed, ApsaraMQ for RocketMQ automatically retries the message. If the message still fails to be consumed after the maximum number of retries is reached, the consumer cannot consume the message as expected. In this case, ApsaraMQ for RocketMQ does not immediately discard the message. Instead, it delivers the message to a special queue corresponding to the consumer.
In ApsaraMQ for RocketMQ, a message that cannot be properly consumed is called a dead-letter message, and the special queue used to store dead-letter messages is called dead-letter queue.
For more information, see Dead-letter queues.