跳到主要内容
版本:2.0.19

前言

什么是离线消息?

  • 前提:离线消息必须是Qos=1或者Qos=2的消息
场景描述
当客户端发布的消息没有客户端订阅时,那么此消息被定义为离线消息无订阅的消息
ACK未确认的qos=1或者qos=2的消息,也会被定义为离线消息ack未确认的消息

离线消息使用场景

当设备没有确定投递到订阅的客户端,需要自动缓存消息,待设备上线后订阅消费消息,FluxMQ支持自动存储,订阅拉取消息,并完成消息投递,保证消息可达。

离线消息存储方式

方式描述
离线存储到Redis中适用于消息量较大的场景
离线存储到Mysql中适用于小批量设备场景
离线存储到Postgresql中适用于小批量设备场景

离线消息结构

下面为离线消息的报文格式,详细的报文也可以参考 [数据类型]

字段解释
id消息唯一标识
payloadMQTT 消息体
messageIdMQTT 消息 ID
topicMQTT 主题
qosMQTT 消息的 QoS
retainMQTT 消息是否保持
timestamp事件触发时间 (单位:毫秒)
clientId客户端 ID
clientIp客户端的 IPAddress
nodeIp事件触发所在节点 IPAddress