MQTT:服务器端的消息队列

Sha*_*gie 2 mqtt

我正在使用mqtt来实现一种电子邮件通知系统.我还计划在webapp中使用它来进行触发通知.当我们抛出具有JSON格式的发布者ID的MQTT URL时,我对MQTT是否在服务器端存储数据感到困惑?我问这个的原因是因为在我的情况下,MQTT只存储最后抛出的数据,如果我发送另一个数据,那么前一个数据就会消失.我想知道它是从出生时出现在MQTT端(因为MQ代表消息队列)并且我没有使用或需要在服务器/消费者端实现?

ppa*_*rno 8

Internet上存在常见错误... MQTT代表MQ遥测传输而不是消息队列遥测传输.它由IBM(与Eurotech)共同创建,是IBM MQ产品系列的一部分.MQTT没有排队.代理接收有关主题的消息,并将其转发给该主题的所有订阅者.此行为有两个主要变体:

  • 如果发布者发送带有"retain"标志的消息,则代理会存储此消息(仅限此消息).如果客户端订阅该主题,则代理会立即发送此最后一条存储消息.它被称为"最后的已知消息"
  • 如果订户通过"clean session"连接到代理为false,则代理仅在客户端脱机时保存所有订阅和所有消息.它就像一个队列,但不是一个非常排队的队列.如果"clean session"为false,则如果客户端脱机但某些发布者向主题发送消息,则会对其进行订阅,代理会存储这些消息.当客户端返回在线状态时,它将收到所有丢失的消息.

保罗.

  • 实际上MQTT现在代表...... MQTT. (4认同)