Directives de dimensionnement d'Amazon MQ pour RabbitMQ - Amazon MQ

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.largeet 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 Connexions Canaux Files d'attente Consommateurs par canal Pelles
m5.large 15 000 45 000 10 000 1 000 150
m5.xlarge 30 000 90 000 15 000 1 000 300
m5.2xlarge 60 000 180 000 20 000 1 000 600
m5.4xlarge 120 000 360 000 30 000 1 000 1200

Les limites de connexion, de canal et de pelle sont appliquées par nœud. 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.

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 format de l'API de gestion HTTP.

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"}