apple
for A, xiaomi
for B, imac+xiaomi
for C, and none for D.
A producer publishes 100 messages to the topic with message filter tags apple
, imac
, iphone
, and macbook
, and the topic is delivered to A, B, C, and D immediately.Subscriber | Message Tag | Message Receipt Description |
A | apple | As apple can match the apple message filter tag, the 100 messages can be received properly. |
B | xiaomi | No messages can be received. |
C | imac+xiaomi | As imac can match the imac message filter tag, the 100 messages can be received properly. |
D | - | All messages can be received. |
apple
, imac
, iphone
, and macbook
, and the topic is delivered to A, B, C, and D immediately.xiaomi
.
A producer publishes 100 messages to the topic with message filter tags apple
, imac
, iphone
, and macbook
, and the topic is delivered to A immediately.test1
, and the subscription publishing API is called at 12:01 (this operation is named "publishing test1"). After the publishing, the topic is delivered to subscribers A, B, and C so as to deliver 200 messages to them.
Suppose the result is as follows: A fails to receive 100 messages, B fails to receive 30 messages, and C successfully receives all the 200 messages.test1
topic will deliver the messages again to A once every N seconds. Specifically, the failed 100 messages will be delivered to A again starting from the first one in sequence. If a message fails to be delivered for three consecutive times, it will be directly discarded, and the next message will be delivered, which may also be discarded after three failures, and so on.test1
topic. No matter how many times they are retried for delivery, their lifecycle still remains 1 day. The time point when a message is pushed by the producer to the topic will be the lifecycle start time point, and the message will be deleted once the lifecycle expires.Each message ID is used as the key, and the value is the associated subscribers, indicating whether consumption of each subscriber is successful.
test2
calls the subscription publishing API at 12:01, and this operation is named "publishing test2", which delivers 200 messages to subscribers A, B, and C.
Assume that A, B, and C successfully receive all the 200 messages.test2
has only three subscribers A, B, and C, and the 200 messages are successfully consumed, it will immediately delete all these messages.Subscriber | Whether Subscriber Has Tag | Whether Message Tag Exists | Message Receipt Description |
A | Yes | No | The subscriber does not match and cannot receive messages. |
B | No | Yes | The delivered messages do not need to be matched and all subscribers can receive messages. |
C | Yes | Yes | Messages can be received only when the tags match. N:M match is supported; for example, if a message has 10 tags, and a subscriber has 4 tags, the subscriber can receive the message as long as there is one matching tag. |
D | No | No | After a message is delivered, all subscribers can receive it. |
Was this page helpful?