RabbitMQ是使用最广泛的开源消息代理之一。它最初基于高级消息队列协议(AMQP)。后来,对它进行了修改,以支持消息队列遥测传输(MQTT),流文本定向消息协议(STOMP)和其他几种常见协议。

MQTT是为IOT设备开发的基于轻量级pub-sub的消息传递技术。它用于与网络带宽昂贵的远程设备(具有一定限制)进行通信。

RabbitMQ与MQTT之间的主要区别 让我们看一下RabbitMQ与MQTT之间的主要区别,如下所示:

一、MQTT旨在用于通过低带宽网络发送消息的小型设备。它以其简单性(仅5 Apis)和最小的导线占用面积而闻名。

RabbitMQ主要用于已可靠的,大规模的,群集的,被设计用于过去25年中开发的各种消息传递方案。它以可靠性和互操作性而闻名。它已经以多种语言实现;因此,它是构建可靠的,大规模的,群集的,有弹性的消息传递基础结构的最佳选择之一。

二、MQTT仅支持pub-sub消息传递技术。在消息寿命短并且连接的订户和发布者处于活动路由的情况下,这很有用。因此,将MQTT用于经典的长寿命消息队列很麻烦。

RabbitMQ支持几乎所有的消息传递形式,例如pub-sub,循环,消息队列等。它还支持消息分组和幂等消息。就访问队列而言,它支持许多精细控制。可以限制对某些队列的访问,管理深度等等。

三、MQTT不支持事务,并且允许一些基本的确认。

RabbitMQ不仅支持针对不同用例的各种确认,而且还支持跨消息队列的事务。它还允许隔离各种事务性语义(如果需要)。它还允许像X / Open XA事务这样的分布式事务。

四、MQTT并没有配备任何安全协议。因此,我们需要花费额外的时间/资源来集成任何安全协议。在连接安全性方面

RabbitMQ与MQTT相比具有一些明显的优势。它开箱即用,支持SASL,TLS和IETF集RFC。它还进行了自我更新,以支持GS2和SCRAM-SHA等现代SASL机制。

好文阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: