消息示例假设一个IoT设备,负责监控并上报工厂设备的运行状态。可以使用以下格式的MQTT消息并设定过期时间,来确保只有最新状态被处理:
PUBLISH
Topic: factory/machine1/status
Payload: RUNNING
QoS: 1
Message Expiry Interval: 300 // 消息发布后保留5分钟(300秒)的有效期如果这条消息在5分钟内没有被任何订阅者接收,则它会从Broker队列中被移除,以避免未来的订阅者接收到这条过时的消息。
另外,假设有一家电子商务公司需要发送关于限时优惠的消息,会这样操作:
PUBLISH
Topic: store/promotions
Payload: 50off-for-next-30-minutes
QoS: 1
Message Expiry Interval: 1800 // 30分钟后优惠过期在这里,如果该优惠消息在30分钟内没能达到订阅者,消息将自动从Broker中删除,因为它已经不再有效。
消息过期间隔的主要好处是确保只有当前和最相关的信息被传递给订阅者。