除了Shashi所说的,它们具有不同的功能和用例。
MQTT为pub/sub定义了一个标准的有线协议,正如Shashi指出的那样,它是为非常轻量级的环境设计的。因此,它具有非常小的线路格式,几项基本的服务质量和基本功能集。另一方面,传统的消息排队系统通常是专有的(尽管AMQP旨在改变这种情况),既包括点对点也包括pub/sub,提供许多服务质量并且倾向于具有更重的线路格式,虽然这存在以支持增强的特征集,例如回复到寻址,协议转换等
MQTT的一个很好的例子是,你必须在手机,平板电脑和机顶盒端点。这些具有最小的马力,内存和系统资源。通常,来自这些客户的连接要么停留在MQTT上,要么在他们自己之间进行交谈,要么通过桥接连接到企业级MQ,以便与后端应用程序进行互通。例如,基于MQTT的聊天客户端可能会通过MQTT代理直接与另一个客户交谈。另外,基于MQTT的内容交付系统可以连接到企业消息传递网络,该网络托管广告和其他内容,以交付到在手机和平板电脑上运行的应用程序。企业后端可以管理所有的广告投放统计数据和视图,MQTT支持允许在最终用户设备上以最小的电池或马力消耗来推送内容。
因此,MQTT用于功耗,带宽和网络稳定性问题的嵌入式系统和终端用户设备。这通常与传统MQ消息传递相结合,尽管我从未见过将MQTT用作传统消息应用程序的专用传输。据推测,这是因为MQTT缺乏一些更强大的功能,例如消息关联,回复寻址和点对点寻址,这些功能是20年来消息传递的核心。
感谢您的例子! – SlowAndSteady