MQTT: An Implementer's Perspective
vasters.com
MQTT: An Implementer's Perspective
1–10 of 19 posts
Re: MQTT: An Implementer's Perspective
#2We are not a substitute for MQTT, but we made dweet to help you get your things online quickly and easily so you can concentrate on making apps. Standards take forever to hash out, so we made something that can get you going really quickly.
Have you had a chance to look into dweet? https://dweet.io is the homepage, so let me know if you have any questions.
Thank you again
Re: MQTT: An Implementer's Perspective
#3We know how to design modern, efficient, flexible wire protocols that can be driven at the rates required by M2M communication patterns. MQTT does not fit this description nor even makes an attempt to reflect best practices within its current scope.
Re: MQTT: An Implementer's Perspective
#4Great write up! We found many of the same issues as you did when we tried connecting devices, so we created dweet.io. We are not a substitute for MQTT, but we made dweet to help you get your things online quickly and easily so you can concentrate on making apps. Standards take forever to hash out, so we made something that can get you going really quickly. Have you had a chance to look into dweet? https://dweet.io is…
Re: MQTT: An Implementer's Perspective
#5This write up is right on the mark. There are quite a few things about MQTT that seem to have the goal of supporting legacy expediency. At the same time, these dubious design elements undermine the nominal goals of the standard and in some cases flat out contradict those goals. We know how to design modern, efficient, flexible wire protocols that can be driven at the rates required by M2M communication patterns. MQTT…
Re: MQTT: An Implementer's Perspective
#6Re: MQTT: An Implementer's Perspective
#7This write up is right on the mark. There are quite a few things about MQTT that seem to have the goal of supporting legacy expediency. At the same time, these dubious design elements undermine the nominal goals of the standard and in some cases flat out contradict those goals. We know how to design modern, efficient, flexible wire protocols that can be driven at the rates required by M2M communication patterns. MQTT…
Re: MQTT: An Implementer's Perspective
#8This write up is right on the mark. There are quite a few things about MQTT that seem to have the goal of supporting legacy expediency. At the same time, these dubious design elements undermine the nominal goals of the standard and in some cases flat out contradict those goals. We know how to design modern, efficient, flexible wire protocols that can be driven at the rates required by M2M communication patterns. MQTT…
For the life of me I can't find anywhere that says "extensibility" is a goal of MQTT. The main goals are clearly stated to be "simplicity" and "lightweight". Extensibility is the enemy of both. A lot of Clemens' points are based on the concept that MQTT is supposed to be extensible. When you realize that's not even a goal, most of his concerns become moot. He says "I'm not trying to create another AMQP" but if you th…
There are also not many modern app-level protocols that constrain their opcode-set to 4 bits quasi forever, so extensibility also means to have runway for future extension.
Re: MQTT: An Implementer's Perspective
#9I 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
Re: MQTT: An Implementer's Perspective
#10This write up is right on the mark. There are quite a few things about MQTT that seem to have the goal of supporting legacy expediency. At the same time, these dubious design elements undermine the nominal goals of the standard and in some cases flat out contradict those goals. We know how to design modern, efficient, flexible wire protocols that can be driven at the rates required by M2M communication patterns. MQTT…
For the life of me I can't find anywhere that says "extensibility" is a goal of MQTT. The main goals are clearly stated to be "simplicity" and "lightweight". Extensibility is the enemy of both. A lot of Clemens' points are based on the concept that MQTT is supposed to be extensible. When you realize that's not even a goal, most of his concerns become moot. He says "I'm not trying to create another AMQP" but if you th…
No, I think they are based on the combination of factors:
(1) A lot of MQTT choices violate the stated design goals in a way which makes sense only to support extensibility,
(2) However, the specific way that MQTT specifies these things also makes them useless for extensibility.
(Plus, an extra serving of speculation about IBM's motivations heaped on top.)