Hacker News new | ask | show | jobs
by kbaker 3965 days ago
MQTT is really nice for generic pubsub, but from what I've seen doesn't handle RPC-style transactions at all.

It is very hard to have something like this without requiring a whole bunch of ephemeral topics or lots of message id tracking on the client and server:

    server> set this value to Z.
    device> oops, in your previous command, Z is invalid.
Of course you can have an another service to handle this (HTTP API, CoAP, etc.,) but I think if MQTT added a command for something like this, then it would see a lot more adoption. It is nice to keep the broker in the middle of the communication to the devices even for RPC, simplifies a lot of things.
1 comments

Another problem i keep running into, is that MQTT topics have no 'discoverability'. Each client must be hard coded to know exactly which topics to subscribe too, and know how to interpret the data on that topic.

It would be nice if an optional data model could be overlayed on top of MQTT, like BLE GATT does over ATT.

I would like to be able to things like: (1) enumerate topics (2) find topics of a specific type (which could be a UUID - something orthogonal to their physical tree structure) (3) provide descriptors for topics with more metadata, etc.