Does the message queue guarantee that messages are not duplicated?
Does the message accumulation shown in the console include messages with all tags under a topic?
Can I access message queues over the public network?
This feature is not currently supported. Producers and consumers must be in the same network as the region where the message queue is deployed.
Where does a new Group ID start consumption?
If a Group ID is used for the first time on a recently created topic, consumption starts from the beginning, and all historical messages may be consumed. If the topic has existed for a long time, historical messages are ignored and consumption starts with messages that are published after the consumer starts.
If a Group ID has been started before, consumption resumes from the last consumer offset.
To start consumption from a specific point, you can use the reset consumer offset feature in the message queue console to specify a start time. A reset applies only to a specific topic for a specific Group ID and does not affect other Group IDs.
How do I re-consume a message if consumption fails?
Clustering consumption
If the consumer's business logic code returns
Action.ReconsumeLater, returns null, or throws an exception, the message is retried up to 16 times. If the message still fails to be consumed after 16 retries, it is discarded. You can call themessage.getReconsumeTimes()method to retrieve the number of retries for a message.The retry intervals are as follows:
Retry attempt
Retry interval
1
10 seconds
2
30 seconds
3
1 minute
4
2 minutes
5
3 minutes
6
4 minutes
7
5 minutes
8
6 minutes
9
7 minutes
10
8 minutes
11
9 minutes
12
10 minutes
13
20 minutes
14
30 minutes
15
1 hour
16
2 hours
Broadcasting consumption
Broadcasting consumption guarantees that a message is consumed at least once, but it does not retry failed messages.
What should I do if a message is sent but not received?
The message queue provides several methods to query messages:
Query messages by topic and time range. This method lets you find all messages that a topic received within a specific period.
Query for a specific message using its topic and message ID.
Query for a group of messages that share the same message key using the topic and message key.
These methods allow you to find the message content and consumption status. To trace a message's path from the producer to the consumer, including the time and location at each node, you can use the message trace feature. For more information, see Query message traces.
Does the message queue guarantee that messages are not duplicated?
In most cases, messages are not duplicated. As a distributed message middleware, the message queue guarantees that messages are not lost during abnormal conditions such as network jitter or application timeouts. However, it cannot guarantee that messages are not duplicated.
Does the message accumulation shown in the console include messages with all tags under a topic?
Yes, it is.
Producers send messages with all types of tags to the same topic. The messages are arranged in the queue in sequential order, and a write offset is maintained. When a Group ID starts, it specifies which tags to subscribe to and retrieves the current consumer offset from the server-side. The server-side traverses messages in the queue starting from the Group ID's consumer offset. If a message's tag matches the Group ID's subscription, the message is delivered to the Group ID. If not, the message is skipped.
As shown in the following figure, as the Group ID's consumer offset moves forward, messages with Tag2 and Tag3 are filtered out on the server-side. Messages with Tag1 match the subscription and are delivered to the Group ID.

Therefore, the message accumulation displayed on the consumer status page is the total unfiltered accumulation. It includes messages with all tags.