Configuring CybusMQ
Duplicate Message Delivery in MQTT Clients
When a client subscribes to multiple topics 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)
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
+/bar
matches any topic with a single-level prefix followed by/bar
.The specific subscription
foo/bar
matches 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. 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?