MQTTnet
MQTTnet copied to clipboard
Scalability with a backbone adapter like Azure IoT hub
Describe the feature request
MQTTnet server is great as a server itself, however there's some things that it doesn't solve: High availability, message consistency and scaling.
There's no reason to implement clustering on its own because that's a lot of work, and probably outside of the scope of this solution. But there are a lot of service bus solutions and other pub/sub solutions that could help, as long as the MQTTnet server can be made stateless.
Which project is your feature request related to?
- Server
Describe the solution you'd like
A way to connect the MQTTnet servers (more than 1) to an Azure IoT Hub backbone that keeps the topics.
Currently Azure only allows you to use URL's like myhub.azure-devices.net as hostname. Using this server would allow users more control to brand their server with a custom hostname, custom authentication and to be cloud-independent in the interface with all devices.
Describe alternatives you've considered
Considering to use Azure IoT-hub directly, but it does not allow cloud independent device config.
Considering to use MQTTnet Server for hosting, and partitioning the data, but it is not possible in High Availability mode (fault tolerant).
Since version 4 you can "attach" other backends to the MQTT server. The only thing you have to do is to attach to all required events (connection validation, publishing etc.). Then you can skip the internal processing in the server by setting the property "ProcessPublish" (and similar) to false. Then the server will not process the messages etc. later on, but you can forward the data etc. to another backend.
If you have further questions or need more assistance, please reopen this ticket.