Cette rubrique décrit les limites et spécifications applicables à certaines métriques dans ApsaraMQ for MQTT. Lorsque vous utilisez ApsaraMQ for MQTT, veillez à ne pas dépasser ces seuils afin d'éviter toute exception au niveau de vos programmes. Les tableaux ci-dessous détaillent ces limitations.
Si vous souscrivez à une instance Édition Platinum d'ApsaraMQ for MQTT, vous pouvez personnaliser certaines métriques. Ces éléments sont indiqués dans les tableaux suivants. Pour demander une personnalisation, contactez l'assistance technique ApsaraMQ for MQTT via le groupe DingTalk 116015007918.
Limites des instances
Limitations | Limite | Description |
Nom de l'instance |
| Il est impossible de définir un nom personnalisé lors de la création d'une instance. Par défaut, le nom d'une nouvelle instance correspond à son ID d'instance. Vous pouvez modifier ce nom dans la console ApsaraMQ for MQTT. |
TPS de messagerie pour une instance unique | Le plafonnement dépend des spécifications achetées. Si le nombre de transactions par seconde (TPS) de messagerie d'ApsaraMQ for MQTT dépasse la limite de vos spécifications, des problèmes tels que des déconnexions, des délais de réponse dépassés ou la perte de messages peuvent survenir sur les clients. Cela s'applique aux clients MQTT open source ainsi qu'aux kits de développement logiciel (SDK) cloud. Dans ce cas, la fiabilité de la livraison des messages n'est pas garantie. | Un client MQTT unique ne gère généralement pas un volume élevé de messages et certains SDK ne sont pas conçus pour un débit important. Le TPS de messagerie pour un seul client MQTT ne doit pas dépasser 20. Si votre application côté serveur nécessite un volume de messages plus élevé, envisagez d'utiliser un client ApsaraMQ for RocketMQ. |
Nombre de connexions actives pour une instance unique | Le plafonnement dépend des spécifications achetées. Si le nombre de connexions dépasse la limite, les nouvelles demandes de connexion peuvent être rejetées. | Par défaut, ApsaraMQ for MQTT propose des alertes de surveillance pour le nombre de connexions actives. Vous pouvez ajuster le seuil de surveillance selon vos besoins. |
Nombre de relations d'abonnement pour une instance unique | Si le nombre d'abonnements dépasse la limite définie par les spécifications, les nouveaux abonnements peuvent échouer. Les connexions client correspondantes risquent d'être interrompues et l'intégrité des relations d'abonnement ne peut plus être garantie. | Par défaut, ApsaraMQ for MQTT propose des alertes de surveillance pour le nombre de relations d'abonnement. Vous pouvez ajuster le seuil de surveillance selon vos besoins. |
Adresse IP associée à l'endpoint de l'instance | Aucune | Cette adresse IP peut changer à tout moment. Ne codez pas l'adresse IP en dur. L'équipe produit ApsaraMQ for MQTT décline toute responsabilité en cas de problème survenant dans les situations suivantes :
|
Limites des topics
Restrictions | Limite | Description |
Nom du topic |
| Lorsque vous envoyez et recevez des messages avec ApsaraMQ for MQTT, la longueur du topic doit respecter les limites spécifiées. Dans le cas contraire, l'envoi ou l'abonnement aux messages est impossible. |
Nombre de topics parents pour une instance unique | 25 | Si la limite par défaut ne répond pas à vos besoins, contactez l'assistance technique ApsaraMQ for MQTT via le groupe DingTalk 116015007918. |
Utilisation des topics entre régions | Non pris en charge | Si vous configurez des règles d'échange de données entre ApsaraMQ for MQTT et ApsaraMQ for RocketMQ, les ressources concernées doivent se trouver dans la même région. |
Limites des clients
Limites | Limite | Description |
Client ID |
| Lorsque vous envoyez et recevez des messages avec ApsaraMQ for MQTT, le Client ID ne doit pas dépasser la limite de longueur. Dans le cas contraire, la connexion sera interrompue. |
Group ID |
| Lorsque vous envoyez et recevez des messages avec ApsaraMQ for MQTT, la longueur du Group ID doit respecter les limites spécifiées. Dans le cas contraire, l'envoi ou l'abonnement aux messages est impossible. |
Device ID |
| Lorsque vous envoyez et recevez des messages avec ApsaraMQ for MQTT, le Client ID ne doit pas dépasser la limite de longueur. Dans le cas contraire, la connexion sera interrompue. |
Nombre de topics auxquels un client peut s'abonner | 30 | Chaque client peut s'abonner simultanément à un maximum de 30 topics. Si cette limite est dépassée, les nouvelles demandes d'abonnement échouent. Les instances Édition Platinum prennent en charge la personnalisation. Pour demander une personnalisation, contactez l'assistance technique ApsaraMQ for MQTT via le groupe DingTalk 116015007918. Lors du calcul du nombre de topics abonnés, un abonnement contenant un caractère générique compte comme un seul abonnement. Les abonnements à différents topics enfants sous un même topic parent sont comptabilisés séparément. Par exemple, A/# compte comme un abonnement, tandis que A/# et A/a1/# comptent comme deux abonnements distincts. |
Nombre de relations d'abonnement avec caractères génériques | Un maximum de 100 relations d'abonnement avec caractères génériques est autorisé par topic parent. | Le service limite le nombre de relations d'abonnement actives avec caractères génériques pour chaque topic parent. Si cette limite est dépassée, le service ne charge que 100 relations. Cela peut empêcher certains clients abonnés de recevoir des messages. Vous devez contrôler strictement le nombre de relations. Par exemple, pour un même topic parent A, les abonnements à A/#, A/a1/# et A/a2/# sont comptabilisés comme trois relations d'abonnement distinctes. |
Intervalle de heartbeat maximal | 8 minutes | Lors de l'envoi et de la réception de messages avec ApsaraMQ for MQTT, l'intervalle de heartbeat maximal est de 8 minutes. |
Limites relatives au flux de données et aux règles d'état du client
Limites | Limite | Description |
Nombre de règles par instance | 100 | Si la limite par défaut ne répond pas à vos besoins, contactez l'assistance technique ApsaraMQ for MQTT via le groupe DingTalk 116015007918. |
Déduplication des règles | Pour une même ressource interne, vous ne pouvez créer qu'une seule règle de chaque type. | Par exemple, vous ne pouvez créer qu'une seule règle de notification en ligne/hors ligne pour un Group ID, ainsi qu'une seule règle d'entrée de données et une seule règle de sortie de données pour un topic MQTT. |
Limite régionale | Vous ne pouvez pas créer de règles entre régions. Les instances de la source de données et de la destination des données pour une règle doivent se trouver dans la même région. | Par exemple, si vous créez une règle de sortie de données et que l'instance ApsaraMQ for MQTT source se trouve dans la région Chine (Hangzhou), vous ne pouvez sélectionner comme destination des données qu'une instance ApsaraMQ for RocketMQ située dans la région Chine (Hangzhou). |
Version de l'instance ApsaraMQ for MQTT | Seules les instances ApsaraMQ for MQTT de version 3.x.x prennent en charge cette fonctionnalité. | Seules les instances ApsaraMQ for MQTT de version 3.x.x peuvent être achetées. |
Version de l'instance ApsaraMQ for RocketMQ | Seules les instances de la série 4,0 sont prises en charge. | Lorsque ApsaraMQ for MQTT et ApsaraMQ for RocketMQ échangent des données via des règles d'entrée ou de sortie de données, seules les instances ApsaraMQ for RocketMQ de la série 4,0 prennent en charge ces règles. Les instances de la série 5,0 ne sont pas prises en charge. |
Limites d'envoi et de réception de messages
ApsaraMQ for MQTT ne prend pas en charge les messages « last will and testament » ni les messages retenus (retained messages).
Limites | Limite | Description |
Taille du message | 64 Ko | La charge utile du message ne doit pas dépasser cette limite. Dans le cas contraire, le message est supprimé. Les instances Édition Platinum prennent en charge la personnalisation. Pour demander une personnalisation, contactez l'assistance technique ApsaraMQ for MQTT via le groupe DingTalk 116015007918. |
Période de rétention des messages hors ligne | Jusqu'à 3 jours | ApsaraMQ for MQTT conserve les messages hors ligne uniquement lorsque QoS=1 et cleanSession=false. Les messages hors ligne sont conservés pendant un maximum de 3 jours. La conservation complète sur 3 jours n'est pas garantie. Les messages sont automatiquement supprimés de manière rotative lorsque la période de rétention est dépassée ou lorsque l'espace de stockage du serveur est insuffisant. Si vous avez besoin d'une période de rétention garantie pour les messages hors ligne, nous vous recommandons d'utiliser l'Édition Platinum. Pour plus d'informations sur QoS et cleanSession, consultez le Glossaire. Les instances Édition Platinum prennent en charge la personnalisation. Pour personnaliser, contactez l'assistance technique ApsaraMQ for MQTT. ID du groupe DingTalk : 116015007918. |
QoS et cleanSession |
| Lorsque vous envoyez et recevez des messages avec ApsaraMQ for MQTT :
|
Période de validité du jeton | 30 jours | Lorsque vous appelez l'opération pour demander un jeton, si la valeur de ExpireTime est supérieure à 30 jours, l'opération réussit toujours et renvoie un jeton sans erreur. Cependant, la période de validité effective reste de 30 jours. |
Délai de visibilité des messages hors ligne | 10 secondes | Après la première poussée d'un message par le service, celui-ci doit attendre un délai d'expiration ou un échec pour confirmer si le message est converti en message hors ligne. La latence correspondante est généralement de 5 à 10 secondes. |
Nombre de messages hors ligne stockés | 1 million | Le service limite le nombre de messages hors ligne stockés pour chaque instance. Si cette limite est dépassée, le service commence à effacer les messages les plus anciens. Par conséquent, utilisez judicieusement le modèle d'abonnement persistant afin d'éviter de générer trop de messages hors ligne inutiles. Si la limite par défaut ne répond pas à vos besoins, contactez l'assistance technique ApsaraMQ for MQTT via le groupe DingTalk 116015007918. |
Nombre de tentatives de poussée de messages |
| Nombre maximal de tentatives de poussée de messages par le service ApsaraMQ for MQTT lorsque le consommateur échoue à recevoir le message ou que la consommation échoue. |
Limites de l'API Cloud
Pour obtenir des informations sur les limites de requêtes par seconde (QPS) concernant les appels API Cloud, consultez Limites QPS.