开发者社区 > 云原生 > 云消息队列 > 正文

发送mqtt消息的时候支持指定消息的存活时间吗?

发送mqtt消息的时候支持指定消息的存活时间吗?比如发送之后一分钟之内没有消费的话自动丢弃掉该消息。

展开
收起
嘟嘟嘟嘟嘟嘟 2024-02-07 08:04:44 140 0
2 条回答
写回答
取消 提交回答
  • 指定不了。此回答整理自钉群“阿里云 微消息队列 MQTT产品咨询群”

    2024-02-08 10:24:15
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    MQTT协议允许发送消息时设置消息的存活时间

    在使用MQTT发布消息时,可以通过设置特定的标志或参数来定义消息的生命周期。以下是关于如何实现消息的存活时间设置的详细说明:

    1. 保留消息(Retained Message):当发布者发送消息时,可以设置Retained标志为true,这类消息称为保留消息。保留消息会被服务器存储,并且当新的订阅者连接到主题时,会立即收到最新的保留消息。
    2. 消息过期间隔(Message Expiry Interal):这是MQTT 5.0中引入的新特性,允许在PUBLISH报文中设置消息过期间隔属性。该属性是一个四字节的整数,表示消息的生命周期,单位是秒。如果设置了消息过期间隔,且消息在服务器上停留的时间超过了这个间隔,则服务器将不再将它分发给订阅端。
    3. 清除保留消息:如果需要删除某个主题下的保留消息,客户端可以向该主题发送一个Payload为空的保留消息,服务器则会删除该主题下的保留消息。

    总的来说,通过合理利用这些机制,可以在确保数据传输可靠性的同时,避免因长时间未被消费的消息而造成的资源浪费。

    2024-02-07 14:48:14
    赞同 展开评论 打赏
问答分类:

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

热门讨论

热门文章

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载