Mosquitto:传出的消息正在被删除

时间:2018-03-06 12:16:55

标签: message-queue mqtt mosquitto paho

首先,我首先要说的是这个问题是对Mosquitto not propagating messages to AWS IoT using bridge configuration的改进,所以在这个问题上也可以找到很多上下文和日志,但我决定开始一个新问题。猜测我发现了实际问题的真实症状,我更喜欢单独处理它以避免与其他可能的问题混淆:

Mosquitto(/var/log/mosquitto/mosqutto.log)日志文件实际上已被禁用,且/var/log/syslog中唯一可用的日志,但是,当我们启用它们并发出cat mosquitto.log|grep bridge时,会显示一些相关消息:

1.- Bridge local.bridgeawsiot doing local SUBSCRIBE on topic #

这说明所有主题都在被桥接

2.- Connecting bridge awsiot (myEndpoint.iot.us-east-1.amazonaws.com:8883)

这说明它使用了正确的端点

3.- Outgoing messages are being dropped for client local.bridgeawsiot.

这让我很担心,因为我不知道为什么会发生这种情况,但似乎是问题的明显症状,但经过几次搜索我发现:

"消息"外播消息被删除"当内部消息队列变满时显示。",所以我猜消息刚刚排队但实际上没有发送到AWS IoT。

所以我的问题是:

  1. 为什么要删除这些邮件?
  2. 如果因队列已满而被删除,那么为什么排队的邮件不会被发送到桥接端点?
  3. 相关信息:

    Version: 1.4.14-0mosquitto1~jessie2
    OS: Debian GNU/Linux 9.1 (stretch)
    

1 个答案:

答案 0 :(得分:0)

不确定我们是否存在相同的问题,但是当我添加到mosquitto.conf中时,我的问题已解决

192.168.1.134

来自man mosquitto.conf

  

队列中(每个客户端)当前正在传输的消息上方要保留的QoS 1或2消息的最大数量。默认值为100。设置为0表示没有最大值(不建议)。另请参见queue_qos0_messages和max_queued_bytes选项。   在重新加载信号后重新加载。