全部产品
Search
文档中心

阿里云物联网平台:保留消息

更新时间:Jul 22, 2024

保留消息用于确保新订阅Topic的设备能及时收到最新状态的消息,即使消息在设备订阅之前发布。服务端向Topic发布消息时,如果消息携带保留标记(Retain),物联网平台将会保存这个消息并实时发布给订阅者,后续订阅该Topic的设备都会收到保留消息。保留消息在MQTT 3.1.1标准中就已定义,阿里云物联网平台在MQTT 5.0接入时支持这个特性。本文为您介绍保留消息的概念、交互过程和使用场景。

保留消息image..png

  • 更新保留消息:

    • 使用相同的Topic发布新的消息,Payload内容会被新的消息所覆盖。

    • 保留消息支持批量设备发布时携带保留标记,设备是否在线不影响保留消息发布。

  • 删除保留消息:

    • 重新发布一条相同话题的消息Payload为空,即可删除保留消息。

    • 设置消息过期的时间间隔,消息过期后即可删除保留消息。如果消息内容一段时间后失效例如温度控制,请结合消息过期特性一起使用。

    • 保留消息与会话过期无关。即使会话过期,也不影响保留消息。

使用场景

保留消息适合于离线设备的配置场景,例如广告屏深夜休眠白天开启,每天更新广告内容,设备主动请求的效率低于服务端主动发布推送。为了节能,设备会休眠进入离线状态,业务服务端轮询推送内容可能会失败,使用保留消息可以解决这个问题,确保设备下次上线时可以接收到新的消息。image..png