服务端订阅使用限制

本文介绍服务端订阅的使用限制。

AMQP订阅使用限制

限制项

描述

认证超时

建立连接之后,需要立刻发送认证请求。如果15秒内没有认证成功,服务器会主动关闭连接。

数据超时

服务端与物联网平台建立连接时,需传入心跳时间(AMQP协议参数idle-timeout),取值范围为30~300秒。 如果超过心跳时间,连接后无任何帧通信,物联网平台会关闭连接。

建立连接后,用户服务端需在心跳时间内发送PING包来维持连接。若没有在心跳时间内发送PING包,物联网平台会断开连接。

说明

使用阿里云提供的SDK,建立连接后,无需发送PING包维持连接。SDK存在保活心跳,只需保证主进程不退出即可。

ACK超时

AMQP服务端转发消息到客户端后,如果30秒内未收到客户端回执消息,计为ACK超时。

失败推送重试策略

由于消费客户端离线、消息消费慢等原因,消息不能实时消费,而进入堆积队列。

  • 消费客户端重新上线并恢复稳定消费能力后,物联网平台重试推送堆积消息。

  • 如果客户端对重试推送的消息消费失败,可能导致堆积队列阻塞。按大约一分钟间隔,物联网平台向客户端再次重试推送。

消息保存条数

一个消费组最多可堆积1亿条消息。

消息保存时长

1天。

实时消息推送限流

一个连接限流1,000 TPS。您可通过增加连接数扩容,连接数最大为128个。

堆积消息推送限流

一个消费组限流200 TPS。

说明

为避免大量消息堆积,请确保消费客户端在线,并对平台推送的消息及时ACK回复。

一个产品可关联的消费组数量

最多10个。

一个消费组可关联的产品数量

最多1,000个。

一个消费组可订阅的Topic数量

最多200个。

说明

订阅一个使用通配符的Topic,计为一个Topic。例如订阅产品下的Topic:/asde****/+/user/get,无论产品下有多少设备,都计为一个Topic。

消费组个数限制

一个阿里云主账号最多创建1,000个消费组。

消费端个数限制

一个消费组最多支持128个消费端。

连接次数限制

一个消费组1分钟内,消费端请求连接不超过100次。

说明

消费端是指接收物联网平台消息的AMQP客户端,而不是设备端。

MNS订阅使用限制

MNS服务端订阅使用限制,请参见MNS使用限制中,队列相关限制说明。

说明
  • 创建MNS服务端订阅后,无论是否有消息从物联网平台流转到队列中,MNS都会收取队列资源占用费。

  • MNS队列接收的每条消息不能超过64 KB,否则消息会被丢弃。