MQTT | AMQP | |
Explanations | simple queueing service which is mainly used in embedded system. Simple & Power saving. | Provides a variety of messaging environments and improved performance with respect to security protocols. High reliability & Many functions |
Background | MQTT is developed by vendor driven (IBM) | JP Morgan developed AMQP for financial apps |
Architecture | client/broker architecture | client/broker & client/server architecture |
Framing | Stream-oriented | Buffer-oriented |
Protocol design | Simplifies the process of encrypting messaging using TLS and authenticating clients using modern protocols such as OAuth | TCP-based protocol that is using both types of publisher/subscribe & request/response connection |
User Security | Simple user authentication (weak) | Comprehensive user security and authentication measures |
Clients- Servers Relationship | Asymmetric | Symmetric |
Scalability | Very scalable (for embedded devices; generally low power & low compute) | Scalable |
Reliability | It has 3 levels of reliable message delivery | It has 2 levels of reliable message delivery |
Implementation | Mosquitto, RabbitMQ (with plugin) | RabbitMQ, ApachMQ, AmazonMQ |