I am new to Phoenix (Erlang and Elixir ecosystem in general), I am from an IoT company which does all its stuff in MQTT [current stack is - EMQTT + Paho + Django + Celery + PostgreSQL], basically a broker where all devices are conencted - the backend subscribes to “root topic - #” to get all messages - the messages are handled by celery workers in background. These setup is not so cohorent as too many moving components. Phoenix looks a good setup to do such kind of things - only issue is that the devices uses MQTT (and we dont want to move to any other lib as this one is stable enough).
I went through various threads [thread 1 and thread 2] discussing native “transport layer” support for MQTT with Phoenix. Looks like there is no plan to add it to Phoenix and would require some overhaul (I might have misunderstood).
I have another idea of getting this done - with “MQTT over Websocket” support instead of “native MQTT” support. The lib we use on firmware end has this feature - wrapping MQTT packets with WS packets, not sure how it works exactly. But this would eliminate having a MQTT transport layer support and process the MQTT message later with some custom Plugs.
I am a noob when it comes to Phoenix (Just went through “Getting started in docs” and some YT videos), so forgive my ignorance. But I think this could be a relatively easier option to have MQTT support in Phoenix.