Please enable JavaScript.
Coggle requires JavaScript to display documents.
Protocols - Coggle Diagram
Protocols
Instant messaging protocols
list
Message Queuing Telemetry Transport - MQTT
about
publish/subscribe protocol designed for connecting IoT devices
operates in an event-driven manner, allowing messages to be pushed to clients
basic functionalities
connect
publish
subcribe
pros
Lightweight
MQTT has very little overhead meaning that it can operate in resource constrained environments such as cellular networks with spotty coverage
Reliable, ordered delivery:
With three levels of Quality of Service (QoS), MQTT offers at most once, at least once, and best effort delivery modes so you can adapt to difficult network conditions
Flow control
MQTT helps to prevent congestion and overwhelming the central message broker by limiting how many messages each client can send
example
Facebook
cons
Message broker limits scaling
Relying on a central message broker complicates the scalability of MQTT and also introduces a single point of failure
Somewhat harder to develop with
As a bandwidth conscious protocol, MQTT limits developer conveniences. For example, there are five standard connection error messages, which can make debugging harder if the error falls outside those anticipated by the protocol designers
Unsuitable for video and audio
As it is built with low bandwidth use cases in mind, MQTT isn’t optimized for streaming audio or video
Not secure by default
Credentials are passed in plain text so you’ll need a secondary security mechanism, such as SSL, on top of MQTT
implementations
Eclipse Mosquitto
HiveMQ
WebSocket
WebRTC
XMPP
AMQP
Advanced Message Queuing Protocol
AMQP
Matrix
Server Sent Events
IRC