Limits on server-side subscriptions
This topic describes the limits on server-side subscriptions.
AMQP subscription limits
Restrictions | Description |
Authentication timeout | After a connection is established, you must immediately send an authentication request. If authentication fails within 15 seconds, the server closes the connection. |
Data timeout | When a server-side application connects to IoT Platform, you must specify a heartbeat interval using the `idle-timeout` parameter of the AMQP protocol. The value must be between 30 and 300 seconds. If no frames are transmitted within the heartbeat interval after the connection is established, IoT Platform closes the connection. After the connection is established, your server-side application must send PING packets within the heartbeat interval to maintain the connection. If no PING packets are sent within the heartbeat interval, IoT Platform closes the connection. Note If you use an SDK provided by Alibaba Cloud, you do not need to send PING packets to maintain the connection. The SDK has a built-in keepalive heartbeat. Ensure that the main process does not exit. |
ACK timeout | After the AMQP server forwards a message to the client, an ACK timeout occurs if an acknowledgment (ACK) message is not received from the client within 30 seconds. |
Failed push retry policy | Messages that are not consumed in real time are added to an accumulation queue. This can happen if a consumer client is offline or consumes messages slowly.
|
Number of retained messages | A consumer group can accumulate a maximum of 100 million messages. |
Message retention period | 1 day. |
Real-time message push throttling | The limit for a single connection is 1,000 Transactions Per Second (TPS). You can scale out by increasing the number of connections. The maximum number of connections is 128. |
Accumulated message push throttling | The limit for a single consumer group is 200 TPS. Note To prevent large message accumulations, ensure that your consumer client is online and promptly sends ACK responses for messages pushed by the platform. |
Number of consumer groups per product | A maximum of 10. |
Number of products per consumer group | A maximum of 1,000. |
Number of topics per consumer group | A maximum of 200. Note Subscribing to a topic that uses a wildcard character counts as one topic. For example, if you subscribe to the topic |
Consumer group limit | An Alibaba Cloud account can create a maximum of 1,000 consumer groups. |
Consumer client limit | A consumer group supports a maximum of 128 consumer clients. |
Connection attempt limit | The consumer clients of a single consumer group can make a maximum of 100 connection attempts per minute. Note A consumer client is an AMQP client that receives messages from IoT Platform, not a device. |
MNS subscription limits
For information about the limits on MNS server-side subscriptions, see the queue-related limits in MNS limits.
After you create an MNS server-side subscription, MNS charges a queue resource usage fee, even if no messages are streamed from IoT Platform to the queue.
Each message received by an MNS queue cannot exceed 64 KB. Otherwise, the message is discarded.