ApsaraMQ for RocketMQ impose des limites sur les quotas de ressources, les types d'instance et les paramètres associés. Lorsque vous utilisez ApsaraMQ for RocketMQ, veillez à ne pas dépasser les limites correspondantes afin d'éviter toute erreur dans vos applications.
Limites des paramètres
Les limites de paramètres suivantes sont fixes. Respectez ces spécifications afin d'éviter les erreurs liées à des caractères non valides ou à des longueurs excessives.
Parameter | Value | Description |
Instance name |
| Aucune. |
Topic name |
N'utilisez pas les caractères réservés, préfixes ou suffixes suivants pour les noms de topics. | Utilisez des caractères courts et courants pour les noms de topics et évitez les caractères spéciaux, qui peuvent provoquer des erreurs d'analyse. Un nom excessivement long peut entraîner le rejet des opérations sur les messages. |
LiteTopic name |
| Utilisez des caractères courts et courants pour les noms de LiteTopics et évitez les caractères spéciaux, qui peuvent provoquer des erreurs d'analyse. Un nom excessivement long peut entraîner le rejet des opérations sur les messages. |
LiteTopic time-to-live (TTL) |
| Si aucun message n'est écrit dans un LiteTopic pendant la période TTL spécifiée, le LiteTopic expire et est automatiquement supprimé. Une valeur de -1 signifie que le LiteTopic n'expire jamais. Vous ne pouvez définir ce paramètre que lorsque le type de message est Lite. |
Consumer group name |
N'utilisez pas les caractères réservés ou préfixes suivants pour les noms de groupes de consommateurs. | Aucune. |
Instance remarks |
| Aucune. |
Topic remarks | ||
Consumer group remarks | ||
ACL Credentials |
| Aucune. |
Request timeout |
| Le délai d'attente de la requête spécifie la durée pendant laquelle le client attend la fin d'un appel synchrone. Définissez une valeur adaptée à votre application afin d'éviter un blocage prolongé des threads. |
Message size | Maximum : 4 Mo. Cette limite s'applique uniquement au corps du message et n'inclut pas la compression. | Vous pouvez compresser les messages et contrôler la taille de la charge utile pour éviter de transférer des fichiers volumineux. Si un message dépasse la limite de taille, vous pouvez le fractionner ou utiliser OSS et transférer l'URL du message à la place. Une prise en charge spéciale de la taille des messages est disponible. Soumettez un ticket pour en faire la demande. |
Custom message properties |
N'utilisez pas les clés de propriétés réservées suivantes comme clés de propriétés personnalisées. | Aucune. |
MessageGroup |
| MessageGroup est l'identifiant de groupe pour les messages ordonnés. Il est généralement défini comme un identifiant pour un groupe de messages qui doivent être traités dans l'ordre, tel qu'un ID de commande ou un ID d'utilisateur. |
Message sending retries |
| Le SDK client gère automatiquement les nouvelles tentatives d'envoi de messages selon une politique intégrée, qui n'est pas visible pour votre application. Ne définissez pas cette valeur trop élevée pour éviter de bloquer les threads métier. Si un message échoue toujours après le nombre maximal de tentatives, vous devez mettre en œuvre un mécanisme de secours dans votre application pour garantir la fiabilité. |
Message consumption retries |
| Définissez une valeur raisonnable selon vos besoins. Évitez d'utiliser les nouvelles tentatives pour déclencher une boucle infinie. Un nombre excessif de tentatives peut augmenter considérablement la pression sur le système. |
Transaction resolution check interval |
| Cet intervalle détermine la fréquence à laquelle le client producteur vérifie l'état d'un message transactionnel intermédiaire qui n'a pas été validé en raison d'une exception ou d'un redémarrage. Évitez de définir cet intervalle trop court, car des vérifications fréquentes peuvent dégrader les performances du système. |
Première heure de vérification pour les messages semi-transactionnels |
| Aucun. |
Délai d'attente maximal pour les messages semi-transactionnels |
| Si un message semi-transactionnel n'est pas validé en raison d'un redémarrage du système ou d'une exception, le client producteur vérifie son statut selon l'intervalle de vérification de la résolution des transactions spécifié. Si aucun résultat n'est renvoyé après le délai d'attente maximal, le message semi-transactionnel est annulé de force. Vous pouvez surveiller cette métrique afin d'éviter les anomalies transactionnelles. |
Délai maximal pour les messages planifiés |
| Définissez le délai des messages planifiés sur un intervalle horaire. Évitez les longs délais. |
Délai d'attente de consommation PushConsumer |
| Le délai d'attente de consommation PushConsumer est contrôlé par le serveur ApsaraMQ for RocketMQ. Si un consommateur ne traite pas un message dans ce délai, le système marque la tentative de consommation comme échouée et déclenche une nouvelle tentative. Cela peut entraîner un petit nombre de messages dupliqués. |
Cache local PushConsumer |
| Lorsque le type de consommateur est PushConsumer, le SDK client met en cache certains messages localement pour améliorer le débit et les performances du consommateur. Le nombre et la taille des messages mis en cache doivent rester dans les limites de la mémoire système. |
Intervalle de nouvelle tentative PushConsumer |
| Aucun. |
Parallélisme de consommation PushConsumer |
| Aucun. |
Taille maximale du lot pour la récupération des messages |
| Ce paramètre spécifie le nombre maximal de messages qu'un consommateur peut récupérer auprès du serveur en une seule fois. Définissez une valeur raisonnable selon vos besoins. La récupération d'un trop grand nombre de messages en une seule fois peut entraîner de nombreux messages dupliqués en cas d'échec de la consommation. |
Durée maximale d'invisibilité SimpleConsumer |
| Définissez cette durée légèrement supérieure au temps de traitement des messages attendu, y compris les éventuels intervalles de nouvelle tentative. |
Délai d'attente du sondage long du consommateur | Plage de valeurs : minimum : 5 secondes. Maximum : 20 secondes. Vous pouvez personnaliser cette valeur dans la plage spécifiée. | Avec le sondage long, si aucun message n'est disponible sur le serveur, la requête du client reste ouverte jusqu'à l'arrivée d'un message ou jusqu'à l'expiration du délai d'attente. Cette méthode réduit les requêtes de sondage vides et diminue la charge sur le client et le serveur, en particulier lorsque le volume de messages est faible. |
Abonnement | Limite de longueur de l'expression de filtre : 4 000 caractères (y compris les filtres TAG et SQL). | Pour plus d'informations sur les abonnements, consultez Abonnement. |
Quotas de ressources
ApsaraMQ for RocketMQ impose des limites sur des métriques telles que les requêtes par seconde (QPS) et la concurrence afin de garantir la stabilité de la production. Ces quotas suffisent pour la plupart des scénarios. Si ces quotas ne répondent pas aux exigences de votre activité, contactez le support technique d'ApsaraMQ for RocketMQ pour obtenir de l'assistance.
Limite | Valeur | Description | |
Instances avec abonnement et à la demande | Instances serverless | ||
Nombre d'instances par région | Maximum de 1 000 instances tous types confondus. | Sans objet. | |
TPS d'envoi et de réception des messages par instance | Déterminé par le type d'instance acheté. Pour connaître les limites spécifiques, consultez les Limites des types d'instance. | Mise à l'échelle automatique | Le TPS d'envoi et de réception des messages reflète les performances de traitement de l'instance. Si le TPS réel dépasse la limite du type d'instance, celle-ci est limitée en débit. Mettez à niveau le type d'instance dès que possible. |
Durée de rétention des messages |
|
| Étendez la durée de rétention des messages autant que vos coûts de stockage le permettent. Une période plus longue laisse plus de temps pour le dépannage et la relecture des messages. |
Nombre de messages en cours de traitement par groupe de consommateurs | Maximum : 2 500. | Maximum : 2 500. | Un nombre excessif de messages en cours de traitement dans un groupe de consommateurs peut ralentir les réponses des consommateurs. Surveillez cette métrique et identifiez rapidement la cause. |
Nombre de LiteTopics auxquels un seul consommateur peut s'abonner | Maximum : 2 000. | Maximum : 2 000. | L'abonnement à un nombre excessif de LiteTopics sur un seul consommateur peut dégrader les performances du client. Pour demander une augmentation de cette limite, soumettez un ticket. |
TPS de consommation maximal pour chaque LiteTopic | 200 | 200 | Vous pouvez créer des centaines de milliers, voire des millions de LiteTopics sous un topic. Le TPS de consommation total du topic n'est pas affecté. |
Limitations
Message Queue for RocketMQ, une plateforme entièrement managée en tant que service (PaaS), restreint certaines opérations et fonctionnalités à haut risque disponibles dans Apache RocketMQ open source afin de préserver la stabilité du système. Si vous avez des besoins spécifiques, contactez le support technique de Message Queue for RocketMQ.
|
Limitation |
Description |
|
Compatibilité avec les outils Admin d'Apache RocketMQ |
Message Queue for RocketMQ ne prend pas en charge l'API Admin ni l'interface de ligne de commande (CLI) d'Apache RocketMQ pour la gestion des instances, des topics ou des groupes. Pour gérer les ressources par programmation, utilisez Alibaba Cloud OpenAPI, qui propose des SDK multilingues et la prise en charge de l'interface CLI. |
|
Messages Request-Reply d'Apache RocketMQ |
Message Queue for RocketMQ ne prend pas en charge l'envoi de messages Request-Reply d'Apache RocketMQ. |
|
Composant Streaming d'Apache RocketMQ |
Message Queue for RocketMQ ne fournit pas de composant Streaming géré pour Apache RocketMQ. Vous pouvez déployer ce composant vous-même dans un environnement Alibaba Cloud ou utiliser la fonctionnalité d'intégration des données de Message Queue for RocketMQ pour une intégration et un calcul légers des données. |
|
Composant MQTT d'Apache RocketMQ |
Message Queue for RocketMQ ne fournit pas de composant MQTT géré pour Apache RocketMQ. Nous vous recommandons d'utiliser le service Alibaba Cloud ApsaraMQ for MQTT, qui offre davantage de fonctionnalités. |
|
Composant EventBridge d'Apache RocketMQ |
Message Queue for RocketMQ ne fournit pas de composant EventBridge géré pour Apache RocketMQ. Nous vous recommandons d'utiliser le service Alibaba Cloud EventBridge, qui offre davantage de fonctionnalités. |
|
Composant Connector d'Apache RocketMQ |
Message Queue for RocketMQ ne fournit pas de composant Connector géré pour Apache RocketMQ. Vous pouvez utiliser la fonctionnalité d'intégration des données de Message Queue for RocketMQ pour les entrées et sorties de données. |
Limites des types d'instance
Les instances Standard Edition, Single Node Edition et Professional Edition ne prennent pas en charge le TPS élastique. Planifiez l'utilisation de vos ressources à l'avance afin d'éviter la limitation du débit (throttling) si des pics de trafic soudains dépassent les limites de votre spécification.
Les quotas de topics et de groupes par instance sont suffisants pour la plupart des cas d'utilisation de production à grande échelle. En tant que bonne pratique, isolez vos services métier sur différentes instances en fonction du département ou du domaine. Cette approche améliore la stabilité et la gestion des ressources.
La spécification de TPS des messages est basée sur le nombre total de messages normaux envoyés et reçus, en utilisant une taille de message standard de 4 Ko comme référence. Un multiplicateur s'applique lorsque vous utilisez des fonctionnalités de message avancées ou que vous envoyez des messages volumineux. Pour plus de détails sur le calcul du TPS, consultez Spécifications de calcul.
-
Si le TPS réel pour l'envoi et la réception de messages dépasse la limite supérieure de votre type d'instance acheté :
Si le TPS élastique est activé, votre instance peut fonctionner normalement tant que le TPS reste dans la plage élastique provisionnée. L'utilisation qui dépasse la spécification de base est facturée selon le modèle de paiement à l'utilisation. Si le TPS dépasse la capacité élastique maximale, l'instance est soumise à une limitation de débit.
Pour plus d'informations sur la facturation du TPS élastique pour les instances non Serverless, consultez Frais de TPS élastique. Pour plus d'informations sur la facturation du TPS élastique pour les instances Serverless, consultez Frais de TPS élastique Serverless.
Si votre instance ne prend pas en charge le TPS élastique ou si la fonctionnalité n'est pas activée, Message Queue for RocketMQ applique une limitation de débit à l'instance.
ImportantLorsque la limitation de débit est déclenchée, le serveur renvoie immédiatement une réponse d'échec pour les nouvelles demandes d'envoi. Les demandes ne sont ni mises en file d'attente ni tamponnées ; elles échouent immédiatement.
Si l'application cliente ne dispose pas d'un mécanisme de nouvelle tentative configuré, tout message recevant une réponse d'échec due à la limitation de débit est effectivement perdu. Pour garantir la fiabilité des messages, configurez une stratégie de nouvelle tentative d'envoi côté client afin de gérer les limitations temporaires. Si vous utilisez le SDK ApsaraMQ for RocketMQ, activez la politique de nouvelle tentative intégrée et définissez un nombre maximal de tentatives approprié.
Un nombre excessif de connexions clientes à une instance Message Queue for RocketMQ consomme des ressources serveur importantes et peut avoir un impact sévère sur la stabilité. Par conséquent, assurez-vous que le nombre de connexions clientes ne dépasse pas la limite prévue pour votre type d'instance.
Instances de la série Serverless
Nombre de clients en ligne simultanés : nombre total de producteurs et de consommateurs en ligne. Chacun est compté comme un client.
Nombre de ressources : nombre total de topics et de groupes de consommateurs.
Architecture de déploiement | Mode de capacité | Plage de TPS | Clients simultanés maximaux | Quota gratuit de clients | Nombre maximal de ressources | Quota gratuit de ressources | Nombre maximal de LiteTopics |
Partagé | Utilisation cumulative | Tous | 5 000 | 500 | 3 000 | 100 | / |
Réservé + Élastique | [2 000, 20 000] | 5 000 | 1 000 | 3 000 | 200 | ||
(20 000, 50 000] | 8 000 | 2 000 | 3 000 | 200 | |||
(50 000, 100 000] | 10 000 | 3 000 | 3 000 | 200 | |||
(100 000, 200 000] | 20 000 | 5 000 | 3 000 | 200 | |||
Dédié | Réservé + Élastique | 5 000 | 3 000 | 2 000 | 3 000 | 300 | 300 000 |
10 000 | 6 000 | 4 000 | 4 000 | 300 | 500 000 | ||
15 000 | 8 000 | 6 000 | 6 000 | 500 | 800 000 | ||
[20 000, 50 000] | 10 000 | 8 000 | 6 000 | 500 | 1 200 000 | ||
(50 000, 100 000] | 20 000 | 10 000 | 6 000 | 500 | 3 000 000 | ||
(100 000, 200 000] | 40 000 | 20 000 | 8 000 | 1 000 | 3 600 000 | ||
(200 000, 300 000] | 80 000 | 40 000 | 10 000 | 1 500 | 5 000 000 | ||
(300 000, 500 000] | 100 000 | 50 000 | 16 000 | 2 000 | 6 500 000 | ||
(500 000, 1 000 000] | 200 000 | 100 000 | 40 000 | 3 000 | 11 600 000 |
Instances non serverless (abonnement et paiement à l'utilisation)
Standard edition
Sous-série d'instance | Type d'instance | Débit TPS de base maximal (ops/sec) | Débit TPS en rafale maximal (ops/sec) | Nombre maximal de connexions | Bande passante sortante (Mbit/s) | Quota de topics gratuits | Quota maximal de topics | Nombre maximal de groupes de consommateurs | Nombre maximal de LiteTopics |
Single Node Edition (plus commercialisée) | rmq.s1.micro | 500 | Non applicable Ce type d'instance ne prend pas en charge l'élasticité en rafale. | 2 000 | 1 à 1 000 Personnalisable. | 100 | 100 | 1 000 | / |
Cluster High-availability Edition | rmq.s2.2xlarge | 2 000 | 4 000 | 300 | 50 000 | ||||
rmq.s2.4xlarge | 4 000 | 4 000 | 150 000 | ||||||
rmq.s2.6xlarge | 6 000 | 6 000 | 500 | 300 000 |
Si les quotas de topics et de groupes de consommateurs pour l'instance Standard Edition haut de gamme (rmq.s2.6xlarge) sont insuffisants pour vos besoins métier, effectuez une mise à niveau vers la Professional Edition et sélectionnez un type d'instance adapté.
Professional edition
Sous-série d'instance | Type d'instance | Débit TPS de base maximal (ops/sec) | Débit TPS en rafale maximal (ops/sec) | Nombre maximal de connexions | Bande passante sortante (Mbit/s) | Quota de topics gratuits | Quota maximal de topics | Nombre maximal de groupes de consommateurs | Nombre maximal de LiteTopics |
Single Node Edition (plus commercialisée) | rmq.p1.micro | 500 | Non applicable Ce type d'instance ne prend pas en charge l'élasticité en rafale. | 2 000 | 1 à 1 000 Personnalisable. | 150 | 150 | 1 500 | / |
Cluster High-availability Edition | rmq.p2.4xlarge | 4 000 | 2 000 | 4 000 | 500 | 2 000 | 150 000 | ||
rmq.p2.6xlarge | 6 000 | 3 000 | 6 000 | 300 000 | |||||
rmq.p2.10xlarge | 10 000 | 5 000 | 10 000 | 1 000 | 500 000 | ||||
rmq.p2.20xlarge | 20 000 | 10 000 | 10 000 | 800 000 | |||||
rmq.p2.30xlarge | 30 000 | 15 000 | 12 000 | 2 000 | 1 000 000 | ||||
rmq.p2.40xlarge | 40 000 | 20 000 | 12 000 | 1 200 000 | |||||
rmq.p2.50xlarge | 50 000 | 20 000 | 14 000 | 1 400 000 | |||||
rmq.p2.100xlarge | 100 000 | 30 000 | 26 000 | 2 200 000 | |||||
rmq.p2.120xlarge | 120 000 | 40 000 | 30 000 | 2 700 000 | |||||
rmq.p2.150xlarge | 150 000 | 50 000 | 38 000 | 3 300 000 | |||||
rmq.p2.200xlarge | 200 000 | 60 000 | 50 000 | 4 500 000 |
Si les quotas de topics et de groupes de consommateurs pour les instances Professional Edition de type rmq.p2.10xlarge ou supérieur sont insuffisants pour vos besoins métier, soumettez un ticket.
Édition Platinum
Sous-série d'instance | Type d'instance | TPS de base max (ops/sec) | TPS en rafale max (ops/sec) | Nombre maximal de connexions | Bande passante sortante (Mbps) | Quota gratuit de topics | Quota maximal de topics | Nombre maximal de groupes de consommateurs | Nombre maximal de LiteTopics |
Édition haute disponibilité en cluster | rmq.u2,10xlarge | 10 000 | 5 000 | 10 000 | 1 à 1 000 Personnalisable. | 200 | 3 000 | 4 000 | 600 000 |
rmq.u2,20xlarge | 20 000 | 10 000 | 10 000 | 800 000 | |||||
rmq.u2,30xlarge | 30 000 | 15 000 | 12 000 | 1 000 000 | |||||
rmq.u2,40xlarge | 40 000 | 20 000 | 10 000 | 1 200 000 | |||||
rmq.u2,50xlarge | 50 000 | 20 000 | 14 000 | 1 400 000 | |||||
rmq.u2,60xlarge | 60 000 | 22 000 | 16 000 | 1 600 000 | |||||
rmq.u2,70xlarge | 70 000 | 24 000 | 18 000 | 1 700 000 | |||||
rmq.u2,80xlarge | 80 000 | 26 000 | 20 000 | 1 800 000 | |||||
rmq.u2,90xlarge | 90 000 | 28 000 | 24 000 | 2 000 000 | |||||
rmq.u2.100xlarge | 100 000 | 30 000 | 26 000 | 2 200 000 | |||||
rmq.u2.120xlarge | 120 000 | 40 000 | 30 000 | 2 700 000 | |||||
rmq.u2.150xlarge | 150 000 | 50 000 | 38 000 | 3 300 000 | |||||
rmq.u2.200xlarge | 200 000 | 60 000 | 50 000 | 4 500 000 | |||||
rmq.u2.250xlarge | 250 000 | 70 000 | 51 000 | 5 600 000 | |||||
rmq.u2.300xlarge | 300 000 | 80 000 | 52 000 | 6 300 000 | |||||
rmq.u2.350xlarge | 350 000 | 90 000 | 53 000 | 7 500 000 | |||||
rmq.u2.400xlarge | 400 000 | 100 000 | 54 000 | 9 300 000 | |||||
rmq.u2.450xlarge | 450 000 | 120 000 | 60 000 | 10 400 000 | |||||
rmq.u2.500xlarge | 500 000 | 140 000 | 66 000 | 11 600 000 | |||||
rmq.u2.550xlarge | 550 000 | 160 000 | 72 000 | 12 800 000 | |||||
rmq.u2.600xlarge | 600 000 | 200 000 | 80 000 | 14 000 000 | |||||
rmq.u2.1000xlarge | 1 000 000 | 300 000 | 134 000 | 23 200 000 |
Si les quotas de topics et de groupes de consommateurs pour les instances de l'édition Platinum sont toujours insuffisants pour vos besoins métier, soumettez un ticket.