activemq - MQTT 与 MQ 设计注意事项

标签 activemq mq mqtt

我这里没有具体的查询;只需要一些设计指南。

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

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

谢谢!

最佳答案

补充 Shashi 所说的内容,这些具有不同的功能和用例。

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

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

MQTT 的一个很好的例子是在手机、平板电脑和机顶盒中拥有端点。它们具有最小的马力、内存和系统资源。通常,这些连接要么保持 MQTT 并相互通信,要么桥接到企业级 MQ,在其中可以与后端应用程序进行相互通信。例如,基于 MQTT 的聊天客户端可能通过 MQTT 代理直接与另一个客户端对话。或者,基于 MQTT 的内容交付系统将桥接到企业消息传递网络,该网络托管广告和其他内容,以交付给手机和平板电脑上运行的应用程序。企业后端将管理广告转换和计费所依据的 View 的所有统计数据,并且 MQTT 分支允许在最终用户设备上以最小的电池或马力消耗推送内容。

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

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

相关文章:

java - 收到的 COD 的关联 ID 和正文为空

java - WMQ/JMS消息不丢失、不重复的原理

linux - 如何使用 awk 打印整个字符串中的每个单词?

java - ActiveMQ队列和消费者

activemq - 如何将 activemq-core.xsd url 与 jar 文件中找到的 activemq.xsd 关联?

与 Apache Activemq 的 SSL 连接

tomcat - 我可以使用 Tomcat 服务器和 MQTT 吗?

java - 为 ActiveMQ JMS 连接使用用户名和密码

mqtt - 简化情况下可以保证mqtt msg传递顺序吗?

ssl - Websockets + TLS 的 Mosquitto 配置