短信告警提示离线消息存储数量超过系统限制
问题描述
在使用微消息队列MQTT版时,短信告警提示离线消息存储数量超过系统限制。
问题原因
微消息队列MQTT版对于每个实例中存储的离线消息数量是有限制的。具体的限制值,请参见使用限制中的相关说明。如果客户端订阅关系设置不当,产生大量离线消息,超过实例的规格限制,则系统会发送告警短信并从最早的消息开始清理,直到满足实例的规格限制。
解决方案
目前仅当使用QoS1持久化Session时才会保留离线消息,且最多保留3天,超过时间将自动滚动删除(企业铂金版可定制)。请根据告警短信中的实例ID,确认接入该实例的客户端使用的是QoS1持久化Session级别的订阅关系。确认后,参考如下内容,判断您是否需要使用持久化Session。
说明
注:Client ID、QoS1、cleanSession等概念说明请参见名词解释。
持久化Session的订阅关系仅适用于客户端每次上线时Client ID固定,并且客户端上线后需要获取离线期间没有收到消息的场景。
如果客户端每次上线时Client ID都不固定,或者业务上不需要关注离线状态,则不需要使用持久化Session的订阅关系。
确认您是否需要使用持久化Session后,参考如下两种情况进行处理。
需要使用持久化Session:检查客户端是否存在频率离线的情况。如果客户端经常不在线,离线消息将囤积,并在超过限制时被滚动清理。如果您需要增加离线消息存储数量,请联系微消息队列MQTT版技术支持请求增加离线消息存储数量。
不需要使用持久化Session:请改用cleanSession模式,并联系微消息队列MQTT版技术支持请求清理错误的数据。
适用于
微消息队列 MQTT 版
如果您的问题仍未解决,您可以在阿里云社区免费咨询。