我这里没有特定的查询;只需要一些设计准则。
我在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/