Agregando a lo Shashi ha dicho, éstos tienen diferentes capacidades y casos de uso.
MQTT define un protocolo de cable estándar para pub/sub y, como señaló Shashi, está diseñado para entornos muy livianos. Como tal, tiene un formato de cableado muy mínimo, algunas cualidades básicas de servicio y un conjunto básico de características. Los sistemas tradicionales de colas de mensajes, por otra parte, son generalmente de propiedad (aunque AMQP pretende cambiar eso), cubren tanto punto a punto como pub/sub, ofrecen muchas cualidades de servicio y tienden a tener un formato de cable más pesado. , aunque existe para admitir conjuntos de características mejoradas como direccionamiento de respuesta, conversión de protocolos, etc.
Un buen ejemplo de MQTT sería donde tiene puntos finales en teléfonos, tabletas y decodificadores. Estos tienen una potencia, memoria y recursos del sistema mínimos. Normalmente, las conexiones de estos permanecen en MQTT y se comunican entre sí, o se conectan a un MQ de clase empresarial donde se pueden intercomunicar con aplicaciones de back-end. Por ejemplo, un cliente de chat basado en MQTT podría hablar directamente con otro a través del intermediario MQTT. Alternativamente, un sistema de entrega de contenido basado en MQTT se uniría a una red de mensajería empresarial que alojaría los anuncios y otro contenido que se entregaría a las aplicaciones que se ejecutan en teléfonos y tabletas. El back-end de la empresa gestionaría todas las estadísticas de publicación de anuncios y vistas en las que se basa la facturación, y el tramo MQTT permite que el contenido se empuje con un consumo mínimo de batería o caballos de fuerza en el dispositivo del usuario final.
Por lo tanto, MQTT se utiliza para sistemas integrados y dispositivos de usuario final donde la potencia, el ancho de banda y la estabilidad de la red son problemas. Esto a menudo se combina con la mensajería MQ tradicional, aunque nunca he visto que MQTT se utilice como transporte exclusivo para aplicaciones de mensajería tradicionales. Presumiblemente, esto se debe a que MQTT carece de algunas de las funciones más sólidas, como la correlación de mensajes, el direccionamiento de respuesta y el direccionamiento punto a punto que han sido fundamentales para la mensajería durante 20 años.
¡Gracias por los ejemplos! – SlowAndSteady