We have an IoT setup with centralized internet-global services such as MQTT and other services.
We are considering running local MQTT servers on many of our edge devices so that server/device local processes can communicate over the local MQTT server without risk of interruption by network outage.
We'd like to bridge our many local device-based MQTT servers with our global MQTT server.
We are currently running EMQX server globally, it's pretty close to a vanilla install. After looking through their documentation, and considering RabitMQ, and looking through their documentation, it seems like they are both referencing cluster configurations, but I don't see a lot of reference to a hierarchical configuration as I'm describing here.
Have other shops configured MQTT in this hierarchical approach? How should I configure it in either EMQX, RabitMQ, or another MQTT server?
In particular, I noted in the RabitMQ docs here under clustering that the clustering mode appears to require bi-directional communication. In a hierarchical mode the edge nodes would only have uni-directional access to the global server to initiate a connection, the global server could not be able to connect to a local MQTT server, e.g. it seems to violate the cluster ethos of interconnectivity.