Open snowfly568790005 opened 1 year ago
As far as I know QoS 0 and 1 are supported in either MQTT version. QoS 2 has not yet been supported, and I cannot speak to whether or not there is a plan to do so. QoS 2 is generally used to prevent duplicate messages on failure to receive PUBACK when using QoS 1, or more specifically QoS 2 provides exactly once semantics meaning the message there is more coordination to prevent a message from being sent again. You can achieve something similar if you use QoS 1 and configure the Pulsar namespace to de-duplicate messages, since that is a supported feature of Pulsar: https://pulsar.apache.org/docs/3.1.x/cookbooks-deduplication/
A QoS 1 publish on a Pulsar namespace with deduplication configured should appear similarly to Pulsar and MQTT clients similar to how you'd expect a QoS 2 message to work. That said the caveat to this is if you do intend to send 2 of the exact same messages in QoS 2 will allow that since they are 2 separate attempts to send messages so consumers will see both messages, however if you deduplicate Pulsar will deduplicate the message on the second attempt. Not a major caveat, but something to consider.
Motivation
which version support mqtt v3/v5 QOS 1 2 and 3 ?
what is the plan /roadmap ?
thanks!