短信告警提示离线消息存储数量超过系统限制

短信告警提示离线消息存储数量超过系统限制

更新时间:2020-03-17 11:27:36

问题描述

在使用微消息队列MQTT版时,短信告警提示离线消息存储数量超过系统限制。

 

问题原因

微消息队列MQTT版对于每个实例中存储的离线消息数量是有限制的。具体的限制值,请参见使用限制中的相关说明。如果客户端订阅关系设置不当,产生大量离线消息,超过实例的规格限制,则系统会发送告警短信并从最早的消息开始清理,直到满足实例的规格限制。

 

解决方案

目前仅当使用QoS1持久化Session时才会保留离线消息,且最多保留3天,超过时间将自动滚动删除(企业铂金版可定制)。请根据告警短信中的实例ID,确认接入该实例的客户端使用的是QoS1持久化Session级别的订阅关系。确认后,参考如下内容,判断您是否需要使用持久化Session。

注:Client ID、QoS1、cleanSession等概念说明请参见名词解释

  • 持久化Session的订阅关系仅适用于客户端每次上线时Client ID固定,并且客户端上线后需要获取离线期间没有收到消息的场景。
  • 如果客户端每次上线时Client ID都不固定,或者业务上不需要关注离线状态,则不需要使用持久化Session的订阅关系。

 

确认您是否需要使用持久化Session后,参考如下两种情况进行处理。

  • 需要使用持久化Session:检查客户端是否存在频率离线的情况。如果客户端经常不在线,离线消息将囤积,并在超过限制时被滚动清理。如果您需要增加离线消息存储数量,请提交工单请求增加离线消息存储数量。
  • 不需要使用持久化Session:请改用cleanSession模式,并提交工单请求清理错误的数据。

 

适用于

  • 微消息队列 MQTT 版

 

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。