ApsaraMQ for RabbitMQ applique des limites aux clusters, aux caractères et au trafic maximal en transactions par seconde (TPS). Pour éviter les erreurs de programme, ne dépassez pas ces limites lors de l'utilisation d'ApsaraMQ for RabbitMQ.
Limites du cluster
Les limites indiquées dans ce tableau s'appliquent à la dernière version des instances.
-
Si les limites de votre instance ne correspondent pas à celles de ce tableau, il est possible que votre instance n'utilise pas la dernière version. Pour plus d'informations, soumettez un ticket. Les restrictions suivantes s'appliquent aux ajustements de limites :
Les instances d'architecture héritée ne prennent pas en charge l'ajustement des limites : les instances dont l'ID est composé uniquement de chiffres ou dont le endpoint VPC ne se termine pas par
mq.amqp.aliyuncs.comne permettent pas de modifier les limites répertoriées ci-dessous.
Élément | Instance Serverless | Instance par abonnement | |||
Partagé | Dédié | Edition Enterprise | Edition Enterprise Platinum | Edition Professional | |
Paiement selon la capacité provisionnée et le trafic élastique / Paiement selon les requêtes de messagerie | Paiement selon la capacité provisionnée et le trafic élastique | ||||
Vhosts par instance | 200 | 2 000 | 200 | 4 096 | 200 |
Exchanges par instance | 6 000 | 10 000 | 6 000 | 80 000 | 6 000 |
Bindings par instance | 20 000 | 20 000 | 20 000 | Aucune | 20 000 |
Files d'attente par instance | 6 000 | 10 000 | 6 000 | 80 000 | 6 000 |
Connexions par instance | 10 000 | 20 000 | Achat basé sur le type d'instance. Chaque instance dispose d'un quota gratuit de 2 000 connexions. Le maximum est de 10 000. | Achat basé sur le type d'instance. Chaque instance dispose d'un quota gratuit de 50 000 connexions. Le maximum est de 100 000. | Nombre de files d'attente × 4. Le nombre de connexions par instance varie de 1 000 à 5 000. |
Files d'attente par binding d'exchange | 256 | 256 Soumettre un ticket pour demander un quota personnalisé. Après personnalisation, vous ne pouvez pas rétrograder l'instance vers un cluster partagé. | 256 | 256 Pour demander un quota personnalisé, contactez le support technique Alibaba Cloud. | 256 |
Consommateurs par file d'attente | Nombre de files d'attente × 4. Le nombre de consommateurs par file d'attente varie de 800 à 5 000. | Aucune | Nombre de files d'attente × 4. Le nombre de consommateurs par file d'attente varie de 800 à 5 000. | Aucune | Nombre de files d'attente × 4. Le nombre de consommateurs par file d'attente varie de 50 à 5 000. |
Canaux par connexion | 2 000 | 3 000 | Le nombre de canaux par connexion correspond au minimum entre [Nombre de files d'attente, 2 048].
| 3 000 | Le nombre de canaux par connexion est soit 64, soit le Nombre de files d'attente.
|
Taille du message | 10 Mo | 50 Mo | 10 Mo (Remarque : pour les instances situées dans les régions Chine (Qingdao), Japon (Tokyo) et Chine (Hohhot), ainsi que pour les instances créées avant le 1er mai 2025 dans d'autres régions, la limite est de 1 Mo.) | 50 Mo (Remarque : pour les instances situées dans les régions Chine (Qingdao), Japon (Tokyo) et Chine (Hohhot), ainsi que pour les instances créées avant le 1er mai 2025 dans d'autres régions, la limite est de 3 Mo.) | 64 Ko |
Délai maximal pour les messages différés | 7 jours | 7 jours Soumettre un ticket pour demander un quota personnalisé. Après personnalisation, vous ne pouvez pas rétrograder l'instance vers un cluster partagé. | 7 jours | 7 jours Pour demander une personnalisation, contactez le support technique Alibaba Cloud. | 24 heures |
Durée maximale de rétention des messages | 3 jours | 3 jours | 3 jours | 3 jours | 3 jours |
Nombre maximal de tentatives de livraison | 16 | 16 | 16 | 64 | 16 |
Maximum : 3 heures Par défaut : 5 minutes | Maximum : 12 heures Par défaut : 30 minutes | Maximum : 3 heures Par défaut : 5 minutes | Maximum : 12 heures Par défaut : 30 minutes | Maximum : 10 minutes Par défaut : 1 minute | |
ApsaraMQ for RabbitMQ applique les limites fixes suivantes :
ApsaraMQ for RabbitMQ limite la taille d'une trame d'en-tête de message (correspondant au paramètre
channel_max_frame_size) à 32 Ko. Cette limite ne peut pas être ajustée. Pour éviter de déclencher la limite de taille de la trame d'en-tête, incluez le contenu volumineux du message dans le corps du message plutôt que dans la trame d'en-tête.Valeur maximale de
basicQospar canal : ApsaraMQ for RabbitMQ limite la valeur maximale debasicQos(également appelée compte de prélecture) par canal à 100. Cette limite QoS ne peut pas être ajustée. Elle contribue à garantir la stabilité et les performances du système en empêchant l'accumulation excessive de messages non acquittés, qui pourrait autrement entraîner une pression sur la mémoire.
Limites de caractères
Élément | Limite |
Nom de file d'attente |
|
Nom d'échange |
|
Nom de vhost |
|
Clé de liaison |
|
Tag de consommateur |
|
ID de message |
|
Seuils de limitation du débit
Pour plus d'informations sur le calcul des TPS, consultez les Règles de calcul pour les éditions d'instances Serverless et les Règles de calcul des TPS pour les éditions d'instances par abonnement.
Pour savoir comment résoudre les problèmes liés à la limitation du débit des TPS, consultez les Solutions en cas de limitation du débit des TPS totaux d'une instance et les Solutions en cas de limitation du débit des TPS d'un nœud unique.
TPS totaux
Édition d'instance | Instance Serverless | Instance par abonnement | ||||||
Spécification | Partagé | Dédié | Elastic TPS désactivé | Elastic TPS activé | ||||
Paiement selon la capacité provisionnée et le trafic élastique/Paiement selon les requêtes de messagerie | Paiement selon la capacité provisionnée et le trafic élastique | Enterprise Edition | Enterprise Platinum Edition | Professional Edition | Enterprise Edition | Enterprise Platinum Edition | Professional Edition | |
Seuil de limitation du débit | Maximum 50 000 par seconde | Deux fois le pic de TPS des spécifications de base | Pic de TPS des spécifications de base | Deux fois le pic de TPS des spécifications de base, jusqu'à un maximum de 50 000 par seconde | Deux fois le pic de TPS des spécifications de base, jusqu'à un maximum de 50 000 par seconde | 1,5 fois le pic de TPS des spécifications de base | ||
SendMessage par nœud unique
Le serveur limite les TPS de SendMessage pour chaque nœud de service backend d'une instance. Les seuils sont les suivants :
Élément | Instance Serverless | Instance par abonnement | ||||
Partagé | Dédié | Enterprise Edition | Enterprise Platinum Edition | Professional Edition | ||
Paiement selon les requêtes de messagerie | Paiement selon la capacité provisionnée et le trafic élastique | Paiement selon la capacité provisionnée et le trafic élastique | ||||
Seuil de limitation du débit | 25 000 par seconde | 25 000 par seconde | Aucun | 25 000 par seconde | Aucun | 25 000 par seconde |
Appel d'API unique
Élément | API | Instance Serverless | Instance par abonnement | |||
Partagé | Dédié | Enterprise Edition | Enterprise Platinum Edition | Professional Edition | ||
Paiement selon la capacité provisionnée et le trafic élastique/Paiement selon les requêtes de messagerie | Paiement selon la capacité provisionnée et le trafic élastique | |||||
Purge de file d'attente par instance |
| 500 TPS | Aucun | 500 TPS | Aucun | 500 TPS |
Création d'échange par instance |
| 500 TPS | Aucun | 500 TPS | Aucun | 500 TPS |
Suppression d'échange par instance |
| 500 TPS | Aucun | 500 TPS | Aucun | 500 TPS |
Création de file d'attente par instance |
| 500 TPS | Aucun | 500 TPS | Aucun | 500 TPS |
Suppression de file d'attente par instance |
| 500 TPS | Aucun | 500 TPS | Aucun | 500 TPS |
Création de liaison par instance |
| 500 TPS | Aucun | 500 TPS | Aucun | 500 TPS |
Suppression de liaison par instance |
| 500 TPS | Aucun | 500 TPS | Aucun | 500 TPS |
Message de récupération d'instance unique |
| 500 TPS | Aucun | 500 TPS | Aucun | 500 TPS |
Remise en file d'attente des messages par instance |
| 20 TPS | Aucun | 20 TPS | Aucun | 20 TPS |
FAQ
L'édition Enterprise prend-elle en charge l'augmentation indépendante de la limite de files d'attente ?
Non. Le nombre maximal de files d'attente par instance Enterprise Edition est de 6 000. Cette limite constitue une spécification liée au niveau de produit et ne peut pas être augmentée indépendamment au sein de l'édition actuelle (par exemple, il n'est pas possible de la porter indépendamment à 10 000).
Si votre activité nécessite un plus grand nombre de files d'attente, envisagez les solutions alternatives suivantes :
Optimisez l'utilisation des files d'attente : regroupez les files d'attente dans la mesure du possible, utilisez des stratégies de routage Topic Exchange pour réduire le nombre total de files d'attente ou supprimez les files d'attente qui ne disposent d'aucun consommateur et ne sont plus utilisées.
Répartissez l'activité sur plusieurs instances : si votre charge de travail le permet, distribuez une partie de votre activité vers une nouvelle instance Enterprise Edition afin de répartir l'utilisation des files d'attente sur plusieurs instances.
Comment résoudre l'erreur « The channelMax limit is reached » ?
Cause : le nombre de canaux sous une seule connexion a atteint la limite channelMax de l'édition de votre instance actuelle.
Solution :
Confirmez l'édition actuelle de votre instance ApsaraMQ for RabbitMQ (Professional Edition, Enterprise Edition, Enterprise Platinum Edition, etc.).
Reportez-vous à la ligne Channels per connection du tableau Cluster limits pour trouver la valeur channelMax spécifique à l'édition de votre instance.
Évaluez s'il est nécessaire de mettre à niveau l'édition de votre instance afin de prendre en charge un nombre plus élevé de canaux simultanés.
Les mots-clés « channelMax », « limit is reached », « pay callback error » et « channel count limit » sont tous liés à cette erreur. Si vous rencontrez l'un de ces symptômes, suivez les étapes ci-dessus pour diagnostiquer et résoudre le problème.
ApsaraMQ for RabbitMQ prend-il en charge l'activation du port de gestion 15672 ou des configurations personnalisées ?
Non. ApsaraMQ for RabbitMQ ne prend pas en charge l'activation du port de gestion 15672 et n'autorise aucune configuration personnalisée. Par défaut, seul le port 5672 est exposé pour la communication via le protocole AMQP. Cette limitation s'applique à tous les types d'instances, y compris les instances Serverless et les instances Subscription.
Puis-je migrer une instance ApsaraMQ for RabbitMQ vers un autre groupe de ressources ?
Non. Les instances ApsaraMQ for RabbitMQ ne prennent actuellement pas en charge la fonctionnalité de groupe de ressources et la console ne propose aucun point d'entrée pour configurer les groupes de ressources.
Combien d'adresses vSwitch IP sont nécessaires pour acheter une instance ApsaraMQ for RabbitMQ ?
L'achat d'une instance nécessite généralement la configuration de deux vSwitches. Dans le cadre de la planification réseau, chaque vSwitch doit disposer d'au moins 20 adresses IP réservées, ce qui consomme un total de 40 adresses IP.