我这里没有特定的查询;只需要一些设计准则。

我在Node.js , MQTT and Websockets上遇到了这篇文章。
我想我们可以使用Node/Java + ActiveMQ + Websockets实现类似的目的。我的查询是如何在MQ和MQTT之间进行选择?与ActiveMQ相比,我可以在中型项目中安全地使用mosquitto这样的“开放式”服务器吗?

This article有一些见识,似乎我应该同时使用MQ和MQTT,因为如果将来获得轻量级客户端,则MQTT可能会有所帮助。

谢谢 !

最佳答案

除了Shashi所说的以外,这些具有不同的功能和用例。

MQTT为pub/sub定义了标准的有线协议(protocol),并且正如Shashi指出的那样,MQTT是为非常轻量级的环境设计的。因此,它具有非常小的连线格式,一些基本的服务质量和基本的功能集。

另一方面,传统的消息队列系统通常是专有的(尽管AMQP旨在改变这一点),涵盖点对点和发布/订阅,提供许多服务质量,并且倾向于使用更重的有线格式,尽管这种格式存在支持增强的功能集,例如答复地址,协议(protocol)转换等。

MQTT的一个很好的例子是您在电话,平板电脑和机顶盒中都有端点。这些具有最小的马力,内存和系统资源。通常,来自这些服务器的连接要么停留在MQTT上,它们之间就相互通信,要么它们桥接到企业级MQ,在这里它们可以与后端应用程序进行相互通信。例如,一个基于MQTT的聊天客户端可能会通过MQTT代理直接与另一个对话。或者,基于MQTT的内容交付系统将桥接到企业消息传递网络,该网络托管广告和其他要交付给在手机和平​​板电脑上运行的应用程序的内容。企业后端将管理广告转换的所有统计信息以及帐单所基于的 View ,MQTT支路允许以最小的电池或马力消耗在最终用户设备上推送内容。

因此,MQTT用于功率,带宽和网络稳定性有问题的嵌入式系统和最终用户设备。尽管我从未见过将MQTT用作传统消息传递应用程序的专用传输,但是这通常与传统MQ消息传递结合使用。据推测,这是因为MQTT缺少一些更健壮的功能,例如消息关联,回复寻址和点对点寻址,这些特性已成为20年来消息传递的核心。

关于activemq - MQTT与MQ设计注意事项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10492830/

10-12 23:55