nats-connector-framework icon indicating copy to clipboard operation
nats-connector-framework copied to clipboard

Connector for MQTT

Open mcqueary opened this issue 8 years ago • 7 comments

mcqueary avatar Mar 23 '16 19:03 mcqueary

Big +1 for MQTT support.

Is this on the roadmap?

I am wondering how this can be embedded into NATS? Does it have some kind of pluggable architecture?

@mcqueary can you please provide a few details/description of the idea?

drasko avatar Aug 26 '16 14:08 drasko

@drasko Thank you for your interest! This is something we are gathering requirements about. Could you provide more information about your use case?

ColinSullivan1 avatar Aug 26 '16 17:08 ColinSullivan1

@ColinSullivan1 we are currently using NATS in our https://github.com/Mainflux/mainflux project. This is a messaging bridge for IoT.

Devices today connect to cloud via low-overhead protocols like MQTT or CoAP. NATS do not support neither type of connection.

Use-case would be following: http://scn.sap.com/community/pi-and-soa-middleware/blog/2016/02/21/uniting-amqp-and-mqtt-message-brokering-with-rabbitmq

Need that devices connect via MQTT demands the MQTT broker in the system. Since MQTT broker is present, then NATS role is somehow redundant, as pub/sub can be replaced by MQTT broker, and today there are very scalable and performant MQTT brokers. Here is an example of one: http://emqtt.io/ and yet another one: https://vernemq.com/

drasko avatar Sep 04 '16 22:09 drasko

We would like to use MQTT / NATS bridge for use with Aither Micro Services

kristianmandrup avatar May 03 '17 10:05 kristianmandrup

@kristianmandrup this bridge is not so hard to implement and we at Mainflux are using Aedes MQTT broker to bridge it with NATS - take a look here: https://github.com/mainflux/mainflux-mqtt/blob/master/mainflux-mqtt.js

Using this appoach we were able to bridge various protocols, like on the picture here: https://github.com/mainflux/mainflux, and also persist data which is published via NATS and stored into InfluxDB - https://github.com/mainflux/mainflux-influxdb-writer

Having MQTT broker independant from NATS let's you choose your favorite broker. We are currently experimenting with NodeJS and Erlang (https://github.com/mainflux/emqttd-docker) implementations.

drasko avatar May 03 '17 10:05 drasko

Sweet :)

kristianmandrup avatar May 03 '17 10:05 kristianmandrup

Whilst I agree that having a broker outside of nats is possible, it's also another moving part to go wrong, to monitor and to maintain. +1 for having a native possibility of connecting via mqtt.

iMartyn avatar May 17 '19 10:05 iMartyn