MQTT vs. XMPP我应该选择哪一个?

概观

我在客户端(Android手机)和服务器(Windows Server)之间来回发送消息。 通过TCP使用持久连接,哪种协议将是最佳解决方案。 我正在研究性能,可扩展性,消息大小和电池寿命。 消息必须按顺序到达目的地,并且不能重复。

MQTT

这似乎是更好的解决方案,但似乎有很多用户大量实施的例子。 我不确定我是否可以将其集成到Windows服务器中,或者它是否必须是另一个应用程序或服务器正在运行。 最后似乎总体上缺乏关于它的信息。

XMPP

这似乎有很多的实现,例子,甚至一本书:)。 但是,主要目的似乎是针对即时通讯客户端和Google Talk等内容。 这是否是服务器和客户端之间的消息传递的最佳解决方案? 我目前知道XMPP主要用于客户端到服务器到客户端体系结构。

请纠正我,如果我错了,并提前感谢任何指导。


这取决于你想要做什么以及你正在运行什么硬件。

MQTT的保持活动流量非常低。 XMPP是一种即时消息协议,在处理所有客户端之间的呈现消息时具有更高的开销。

如果您的内存占用量较小,则必须处理XML解析器可能会导致无法使用XMPP。

请记住,MQTT代表消息队列遥测传输,即它是一种传输协议,并且根本不定义消息格式 - 您将不得不提供此消息; XMPP是一种即时消息传递协议,它仔细定义了所有消息格式,并要求所有消息都是XML格式。

除此之外:MQTT是发布订阅协议,XMPP是一种即时消息协议,可以扩展(使用XEP-0060)来支持发布订阅。 您在构建系统时需要考虑这一点。

我们发现MQTT是一个安静的成功者。 你的饲料可能不同。

这完全取决于...

追踪LinkedIn最近发布的公告,在那里他们讨论了他们在移动应用中使用MQTT的情况。

干杯马克

(顺便说一句,安迪在提到我们的时候稍微偏离了我们,我们是澳大利亚布里斯班昆士兰大学教育创新与技术中心(CEIT))


我认为总之,与XMPP相比,MQTT的优势在于:

  • 吞吐量:更少的开销,更轻量
  • 二进制与纯文本
  • 服务质量(Fire-and-forget,至少一次和正好一次)
  • Pub / Sub到位(XMPP需要扩展XEP-0060)
  • 不需要XML解析器

  • 我认为你可能正在纠正你对XMPP的评估,因为它主要是面向聊天的协议 - 它也相当重量级,并广泛使用XML使其变得冗长。 我知道布里斯班大学的CEIT人员专门研究了两种协议的差异和最佳用途。 MQTT非常轻巧,功耗低 - 它已被用于遥测和传感器应用超过10年,并已被IBM和合作伙伴大规模部署。 现在人们发现像这样一个简单的协议是移动开发的理想选择。

    你想要达到什么目标? mqtt.org网站旨在提供内容的良好链接。 还有关于它的IRC频道和邮件列表。 我们能帮你什么吗?

    链接地址: http://www.djcxy.com/p/94095.html

    上一篇: MQTT vs. XMPP Which Should I Choose?

    下一篇: net chat conversation