You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current MQTT interface needs very little enhancement to become fully useful:
NATS Jetstream -> MQTT QoS 1/2
There are millions of devices speaking MQTT. A NATS client currently cannot send a reliable message (QoS>0) to these devices, so one has to open an additional MQTT connection and send the message there with QoS1+. Enabling Jetstream messages to be bridged to MQTT with QoS1/2 will solve this gap.
Shared subscriptions. This most important feature, although part of the v5 specification, can be implemented also in MQTT v3.x. (There are MQTT brokers that already do this.) This can be mapped to queue groups.
Currently clients have to use the NATS protocol if they want to operate in a high available configuration. Adding this feature to the existing MQTT 3.x interface will allow MQTT protocol to be used also for the backend. NATS can become a considerable alternative to established MQTT brokers and ease migration of existing projects.
I know there are a lot of requests for MQTT v5 and it would be great, but imho the most of us are missing these two features.
Use case
Currently the following use case cannot be solved with only one connection from the backend to NATS:
MQTT IoT device -> (MQTT request with QoS 1) -> NATS Server -> Backend consumer (In a Queue Group/Shared subscription) -> NATS Server -> (MQTT Response with QoS 1) -> MQTT IoT Device
To make it work with NATS, It needs an additional MQTT channel from the backend consumer.
Contribution
No response
The text was updated successfully, but these errors were encountered:
First about high availability. As far as I remember the MQTT subsystem in NATS will be in replicas=3 high available Jetstream mode when used in a cluster with at least 3 Jetstream node.
Proposed change
The current MQTT interface needs very little enhancement to become fully useful:
There are millions of devices speaking MQTT. A NATS client currently cannot send a reliable message (QoS>0) to these devices, so one has to open an additional MQTT connection and send the message there with QoS1+. Enabling Jetstream messages to be bridged to MQTT with QoS1/2 will solve this gap.
Currently clients have to use the NATS protocol if they want to operate in a high available configuration. Adding this feature to the existing MQTT 3.x interface will allow MQTT protocol to be used also for the backend. NATS can become a considerable alternative to established MQTT brokers and ease migration of existing projects.
I know there are a lot of requests for MQTT v5 and it would be great, but imho the most of us are missing these two features.
Use case
Currently the following use case cannot be solved with only one connection from the backend to NATS:
MQTT IoT device -> (MQTT request with QoS 1) -> NATS Server -> Backend consumer (In a Queue Group/Shared subscription) -> NATS Server -> (MQTT Response with QoS 1) -> MQTT IoT Device
To make it work with NATS, It needs an additional MQTT channel from the backend consumer.
Contribution
No response
The text was updated successfully, but these errors were encountered: