Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Directives de dimensionnement d'Amazon MQ pour RabbitMQ
Vous pouvez choisir le type d'instance de courtier le mieux adapté à votre application. Lorsque vous choisissez un type d'instance, il est important de prendre en compte les facteurs qui influenceront les performances du courtier :
-
le nombre de clients et de files d'attente
-
le volume de messages envoyés
-
messages conservés en mémoire
-
messages redondants
Les types d'instances de broker plus petits (t3.micro
) sont recommandés uniquement pour tester les performances des applications. Nous recommandons des types d'instances de broker plus grands (m5.large
et supérieurs) pour les niveaux de production des clients et des files d'attente, le débit élevé, les messages en mémoire et les messages redondants.
Il est important de tester vos courtiers afin de déterminer le type et la taille d'instance appropriés à vos exigences en matière de messagerie de charge de travail. Suivez les directives de dimensionnement suivantes pour déterminer le type d'instance le mieux adapté à votre application.
Directives de dimensionnement pour le déploiement d'une instance unique
Le tableau suivant indique les valeurs limites maximales pour chaque type d'instance pour les courtiers à instance unique.
Type d'instance | Connexions | Canaux | Files d'attente | Consommateurs par canal | Pelles |
---|---|---|---|---|---|
t3.micro | 500 | 1 500 | 2 500 | 1 000 | 150 |
m5.large | 5 000 | 15 000 | 30 000 | 1 000 | 250 |
m5.xlarge | 10 000 | 30 000 | 60 000 | 1 000 | 500 |
m5.2xlarge | 20 000 | 60 000 | 120 000 | 1 000 | 1 000 |
m5.4xlarge | 40 000 | 120 000 | 240 000 | 1 000 | 2 000 |
Directives de dimensionnement pour le déploiement de clusters
Le tableau suivant indique les valeurs limites maximales pour chaque type d'instance pour les courtiers de clusters.
Type d'instance | Files d'attente | Consommateurs par canal |
---|---|---|
m5.large | 10 000 | 1 000 |
m5.xlarge | 15 000 | 1 000 |
m5.2xlarge | 20 000 | 1 000 |
m5.4xlarge | 30 000 | 1 000 |
Les limites de connexion, de canal et de pelle suivantes sont appliquées par nœud.
Type d’instance | Connexions | Canaux | Pelles |
---|---|---|---|
m5.large | 500 | 15 000 | 50 |
m5.xlarge | 10 000 | 30 000 | 100 |
m5.2xlarge | 20 000 | 60 000 | 200 |
m5.4xlarge | 40 000 | 120 000 | 400 |
Les valeurs limites exactes pour un courtier de clusters peuvent être inférieures à la valeur indiquée en fonction du nombre de nœuds disponibles et de la manière dont RabbitMQ distribue les ressources entre les nœuds disponibles. Si vous dépassez les valeurs limites, vous pouvez créer une nouvelle connexion à un autre nœud et réessayer, ou vous pouvez augmenter la taille de l'instance pour augmenter les limites maximales
Messages d’erreur
Les messages d'erreur suivants sont renvoyés lorsque les limites sont dépassées. Toutes les valeurs sont basées sur les limites des instances m5.large
uniques.
Note
Les codes d'erreur des messages suivants peuvent changer en fonction de la bibliothèque cliente que vous utilisez.
Connection
ConnectionClosedByBroker 500 "NOT_ALLOWED - connection refused: node connection limit (500) is reached"
Channel
ConnectionClosedByBroker 1500 "NOT_ALLOWED - number of channels opened on node
'rabbit@ip-10-0-23-173.us-west-2.compute.internal' has reached the maximum allowed limit of (15,000)"
Consommateur
ConnectionClosedByBroker: (530, 'NOT_ALLOWED - reached maximum (1,000) of consumers per channel')
Note
Les messages d'erreur suivants utilisent le API format HTTP de gestion.
File d'attente
{"error":"bad_request","reason":"cannot declare queue 'my_queue': queue limit in cluster (30,000) is reached"}]
Pelle
{"error":"bad_request","reason":"Validation failed\n\ncomponent shovel is limited to 250 per node\n"}
Vhost
{"error":"bad_request","reason":"cannot create vhost 'my_vhost': vhost limit of 4,000 is reached"}