Shared topics with transactional guarantees

25 views
Skip to first unread message

mik...@dvide.com

unread,
Nov 23, 2017, 5:43:18 AM11/23/17
to MQTT
With shared subscriptions where the workload is balanced between multiple subscribers (say S1, S2 ..., SN):

If S1 receives a message but during processing realizes that it cannot handle the request, for example because a database connection is down, is there a way to decline, or NACK, the message such that another subscriber S2 gets a chance to process the message.

Secondary, if S1 receives a message and crashes. Is there a way for the broker to detect that the message receipt was not acknowledge within a reasonable timeframe such that another subscriber S2 gets a chance to process the message?

I realize that shared topics is not in the MQTT 3.x standard.

On MQTT 3.x, is there a similar way for a single subscriber to acknowledge receipt (as opposed to publish acknowledgement) and for the broker to deliver the message later in case of crash. In this case multiple subscribers would all have to ACK independently, but a specific use case would be a single subscriber scenario.

Mikkel

Paul Fremantle

unread,
Nov 23, 2017, 9:08:10 AM11/23/17
to mq...@googlegroups.com
The behaviour you need is part of Kafka where it's called consumer groups. It isn't part of the MQTT spec.

Paul

--
To learn more about MQTT please visit http://mqtt.org
---
You received this message because you are subscribed to the Google Groups "MQTT" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mqtt+unsubscribe@googlegroups.com.
To post to this group, send email to mq...@googlegroups.com.
Visit this group at https://groups.google.com/group/mqtt.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages