MQTT is a dominating protocol in the IoT world. Its flexibility makes use pretty much everywhere. It has pretty much become the De-facto protocol of IoT. To the layperson, MQTT is a lot like Twitter ! It is a “publish and subscribe” protocol. Like all protocols it also has some drawbacks such as it is a lightweight protocol you can only send the sensor data not video clips. So to handle the data surge that’s taking place in the world we should know some alternatives to MQTT. To learn more about MQTT visit here
Alternatives to MQTT are:
- CoAP
- XMPP
- AQMP
- DDS
CoAP (Constrained Application Protocol) :
Its a web protocol for IoT. CoAP is one-to-one protocol for transferring state information between client and server. If you want to control your AC from your smartphone CoAP would be smarter choice. CoAP is a HTTP version for your low powered device.
Strength of CoAP is its compatibility with HTTP. If you have an existing system that is web service-based, then adding in CoAP is a good option.
“The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained networks in the Internet of Things. The protocol is designed for machine-to-machine (M2M) applications such as smart energy and building automation.”
–CoAP Technology
XMPP (Extensible Messaging and Presence Protocol ):
XMPP fast and real time Protocol. Whatsapp uses this protocol. It is based on Extensible Markup Language (XML) .
MQTT doesn’t define a message format with XMPP you can define the message format and get structured data from devices !! It also builds a device’s identity (also called a Jabber ID). In MQTT does it separately with broker implementations.
XMPP provides a solid, flexible foundation for security features. XMPP facilitates identity management, authentication, authorization, Off-the-Record Messaging (OTR), and encryption — including end-to-end encryption. These are essential as we develop secure IoT products.
Advanced Message Queuing Protocol (AMQP)
It defines an efficient, binary, peer-to-peer protocol for transporting messages between two network processes (usually a client and a broker). AMQP separates the structure of a message, from its manner of delivery, with explicit and implicit meta-data which your infrastructure can use
It supports multiple messaging protocols. It can be deployed in distributed configurations to meet high-scale, high-availability requirements
DDS ( Data Distribution Service ):
DDS is mainly for industrial IOT applications where data rate is very high. It does not use any brokers .
“Industrial IoT applications must deal with high individual data rates. Single sources, such as an aircraft engine, produce high volumes of data. Consumer IoT applications don’t usually deal with high individual data rates. However, all IoT applications must deal with high aggregated volumes of data”
–DDS Foundation
Conclusion:
MQTT is still the best protocol. If you want more specific and advanced actions you can move to other alternatives present on the internet.