This topic describes the limits on server-side subscriptions.

Limits on AMQP subscriptions

Item Description
Authentication timeout An authentication request is immediately sent after a connection is established. If the authentication fails within 15 seconds, the server closes the connection.
Data timeout When a server establishes a connection to IoT Platform, the heartbeat timeout period must be specified by using the idle-timeout parameter in AMQP. The timeout period ranges from 30 to 300 seconds. If no frames are transmitted within the heartbeat timeout period, IoT Platform closes the connection.
After the connection is established, the server must send ping packets within the heartbeat timeout period to maintain the connection. If the server does not send ping packets within the heartbeat timeout period, IoT Platform closes the connection.
Note If the connection is established by using an Alibaba Cloud SDK, the server does not need to send ping packets to maintain the connection. Make sure that the main process does not exit during the keep-alive period that is provided by the SDK.
ACK timeout If an AMQP server fails to receive a message from a client within 30 seconds after the AMQP server forwards a message to the client, an ACK timeout occurs.
Policy for message pushing retries

Messages may fail to be consumed in real time when consumers disconnect from IoT Platform or consume messages at a low speed. In this case, messages are accumulated in a queue.

  • After the consumers re-connect to IoT Platform or restore the stable message consumption speed, IoT Platform pushes accumulated messages to the consumers.
  • If the consumers fail to consume the pushed messages, the queue in which the accumulated messages reside may be blocked. When the messages fail to be consumed, IoT Platform retries to push the accumulated messages to the consumers after approximately 1 minute.
Maximum number of saved messages Each consumer group can retain a maximum of 100 million messages.
Message retention period One day.
Maximum push rate for real-time messages Each connection can be used to process a maximum of 1,000 transactions per second (TPS). A maximum of 64 connections can be established.
Maximum push rate for accumulated messages A consumer group can process a maximum of 200 TPS.
Note To prevent a large number of accumulated messages, make sure that consumers are connected to IoT Platform, and the consumers must send ACK responses to messages that are pushed by IoT Platform.
Maximum number of consumer groups with which a product can be associated 10.
Maximum number of products with which a consumer group can be associated 1,000.
Maximum number of topics to which a consumer group can subscribe 200.
Note A topic whose name contains wildcard characters can represent multiple topics but is counted only as one topic. For example, if a consumer group subscribes to the /asde****/+/user/get topic of the asde**** product, all topics of devices that belong to the product are subscribed but are not counted.
Maximum number of consumer groups Each Alibaba Cloud account can create a maximum of 1,000 consumer groups.
Maximum number of consumers Each consumer group can have a maximum of 64 consumers.
Maximum connection requests Each consumer can initiate a maximum of 100 connection requests within 1 minute.
Note Consumers are not devices but AMQP clients that are used to receive IoT Platform messages.

Limits on MNS subscriptions

For information about the limits of Message Service (MNS) server-side subscriptions, see the limits on MNS queues in the MNS limits topic.

  • After you create an MNS server-side subscription, you are charged for MNS queues regardless of whether IoT Platform forwards messages to MNS queues.
  • The maximum size of a message that can be received by an MNS queue is 64 KB. If the size of a message exceeds the limit, the message is discarded.