zoukankan      html  css  js  c++  java
  • 转: RabbitMQ实现中AMQP与MQTT消息收发异同

    转自:http://www.cnblogs.com/lucifer1997/p/9438186.html

    实现了AMQP与MQTT(至多一次)后,用多个队列以topic exchange的方式用相同交换机监听同一个主题(topic),发现情况存在不同,觉得有点意思,所以记录了下来。

    用2个MQTT(分别记作A、B)、2个AMQP(分别记作C、D)同时监听一个topic,

    然后向这个topic先以MQTT的方式发送4条消息(分别记作1、2、3、4),

    再以AMQP方式发送4条消息(分别记作5、6、7、8),

    结果如下:

    A:1、2、3、4、5、6、7、8;

    B:1、2、3、4、5、6、7、8;

    C:1、3、5、7;

    D:2、4、6、8。

    说明AMQP与MQTT发送封装后大致相同,而接收存在差异。

    AMQP以轮询的方式接收消息,而MQTT则能全部接收。

    当我继续探究两者之间是否存在相互影响时,我又发现了一些有趣的现象:

    1、当AMQP与MQTT同时在线时,两边之间互不影响。

    2、当仅有AMQP在线时收到消息,然后一个MQTT开始监听,MQTT收不到消息。

    3、当仅有MQTT在线时收到消息,然后一个AMQP开始监听,AMQP能收到消息。

    根据2、3我推出:MQTT无法读取队列中的离线消息,在线读取后不会删除队列消息;而AMQP能读取队列中的离线消息,读取消息后会删除消息。

    然后根据1,我推测MQTT先于AMQP读取消息(不知道对不对)。

  • 相关阅读:
    [二分][dp] Jzoj P3463 军训
    [树状数组] Jzoj P3462 休息
    [期望] Jzoj P3459 TheSwaps
    [dp] Jzoj P3460 Mixing Chemicals
    [数位dp][状压dp] Jzoj P3458 密码
    [匈牙利] Jzoj P1156 使命的召唤
    [bfs][状压] Jzoj P2121 分球
    [dp] Jzoj P1187 最大公共子串
    [树套树] Jzoj P5699 【gdoi2018 day1】涛涛接苹果
    [枚举] Jzoj P3387 终极武器
  • 原文地址:https://www.cnblogs.com/saryli/p/9742733.html
Copyright © 2011-2022 走看看