Hacker News new | ask | show | jobs
by eldavido 4393 days ago
I've been working on a project to do building monitoring. I'm building a library in C that talks to an Akka/Scala backend.

I initially chose MQTT to connect from the C library (that runs on the device) to the Akka system, via RabbitMQ's support for MQTT.

As I get deeper into the implementation, I'm thinking about ripping out MQTT. I just don't know what purpose it has. I think a better pattern is to have some kind of TCP terminator that the client/device connects to, which then fans out into an AMQP-like messaging system. Pushing messaging away from the core, far towards the edge doesn't seem like a good idea in environments where you really care about whether something is up/connected, and also, the wire protocol you use from the cloud to your device can be a lot different from that which you'd use in a core/cloud/racked messaging system.

I also don't care for MQTT's security model.

All in all, I'm pretty disappointed with it as a protocol. I'd take something written in protobuf and well-documented any day over mqtt.

My project, in case anyone's interested: https://github.com/prefiat/iotelemetri-feederd