Duplicate Message Delivery
Configure duplicate message delivery behavior in CybusMQ.
When a client subscribes to multiple topic filters that can match the same published message (e.g., using wildcards), CybusMQ can be configured to either:
Send a single message (deduplication enabled, default behavior)
Send multiple messages (deduplication disabled)
MQTT Specification Context
The MQTT specification does not clearly define whether the same message should be sent multiple times when multiple subscriptions match a published topic. VerneMQ chose to send duplicate messages for each matching subscription. CybusMQ makes this behavior configurable to suit different application requirements.
Use Cases
Enabled deduplication: Ensures that each client processes a message only once, regardless of subscription patterns.
Disabled deduplication: When your application specifically requires receiving multiple copies of messages for overlapping subscriptions, such as certain protocol-mapping scenarios.
Example
A client subscribes to +/bar and foo/bar:
The wildcard subscription
+/barmatches any topic with a single-level prefix followed by/bar.The specific subscription
foo/barmatches only the exact topicfoo/bar.
When a message is published to foo/bar, both subscriptions match this topic.
With deduplication enabled:
With deduplication disabled:
Enabling/Disabling Deduplication
By default, CybusMQ deduplicates messages for overlapping subscriptions (enabled). This means a client will receive only one copy of a message even if multiple subscriptions match the published topic.
To allow clients to receive multiple copies of the same message when they have overlapping subscriptions, you can disable deduplication.
Last updated
Was this helpful?

