Meilleures pratiques pour la configuration des courtiers et la gestion des connexions dans 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.

Meilleures pratiques pour la configuration des courtiers et la gestion des connexions dans Amazon MQ pour RabbitMQ

La configuration du broker et la gestion des connexions constituent la première étape pour éviter les problèmes liés au débit des messages du broker, à l'utilisation des ressources et à la capacité à gérer les charges de travail de production. Lors de la création et de la configuration d'un courtier Amazon MQ pour RabbitMQ, suivez les bonnes pratiques suivantes pour sélectionner les types d'instances appropriés, gérer efficacement les connexions et configurer le préchargement des messages afin d'optimiser les performances de votre courtier.

Important

Amazon MQ pour RabbitMQ ne prend pas en charge le nom d'utilisateur « invité » et supprimera le compte invité par défaut lorsque vous créerez un nouveau courtier. Amazon MQ supprimera également régulièrement tout compte créé par un client appelé « invité ».

Étape 1 : Utiliser les déploiements de clusters

Pour les charges de travail de production, nous recommandons d'utiliser des déploiements en cluster plutôt que des courtiers à instance unique afin de garantir la haute disponibilité et la résilience des messages. Les déploiements de clusters suppriment les points de défaillance uniques et offrent une meilleure tolérance aux pannes.

Les déploiements de clusters se composent de trois nœuds de courtage RabbitMQ répartis sur trois zones de disponibilité, ce qui permet un basculement automatique et garantit la continuité des opérations même si une zone de disponibilité complète devient indisponible. Amazon MQ réplique automatiquement les messages sur tous les nœuds pour garantir la disponibilité en cas de panne ou de maintenance des nœuds.

Les déploiements de clusters sont essentiels pour les environnements de production et sont pris en charge par le contrat de niveau de service Amazon MQ.

Pour plus d'informations, consultez Déploiement de clusters dans Amazon MQ pour RabbitMQ.

Étape 2 : Choisissez le type d'instance de courtier approprié

Le débit de messages d'un type d'instance de courtier dépend du cas d'utilisation de votre application. M7g.mediumne doit être utilisé que pour tester les performances de l'application. L'utilisation de cette petite instance avant d'utiliser des instances plus grandes en production peut améliorer les performances des applications. Sur les types d'instance m7g.large et supérieurs, vous pouvez utiliser des déploiements de clusters pour garantir une haute disponibilité et une durabilité des messages. Les types d'instances de broker de plus grande taille peuvent gérer les niveaux de production des clients et des files d'attente, le haut débit, les messages en mémoire et les messages redondants.

Pour plus d'informations sur le choix du type d'instance approprié, consultez les directives de dimensionnement dans Amazon MQ pour RabbitMQ.

Étape 3 : Utiliser les files d'attente du quorum

Les files d'attente de quorum, associées au déploiement en cluster, devraient être le choix par défaut pour les types de files d'attente répliqués dans les environnements de production pour les courtiers RabbitMQ sur 3.13 et versions ultérieures. Les files d'attente de quorum sont un type de file d'attente répliqué moderne qui offre une fiabilité élevée, un débit élevé et une latence stable.

Les files d'attente de quorum utilisent l'algorithme de consensus Raft pour améliorer la tolérance aux pannes. Lorsque le nœud leader devient indisponible, les files d'attente du quorum élisent automatiquement un nouveau leader par un vote majoritaire, garantissant ainsi la transmission des messages avec un minimum de perturbations. Comme chaque nœud se trouve dans une zone de disponibilité différente, votre système de messagerie reste disponible même si une zone de disponibilité complète devient temporairement indisponible.

Pour déclarer une file d'attente de quorum, définissez l'en-tête sur quorum lors x-queue-type de la création de vos files d'attente.

Pour plus d'informations sur les files d'attente de quorum, y compris les stratégies de migration et les meilleures pratiques, consultez la section Queues de quorum dans Amazon MQ pour RabbitMQ.

Étape 4 : Utiliser plusieurs canaux

Pour éviter toute perte de connexion, utilisez plusieurs canaux sur une seule connexion. Les applications doivent éviter un rapport connexion/canal 1:1. Nous recommandons d'utiliser une connexion pour chaque processus, puis un canal pour chaque thread. Évitez l'utilisation excessive des canaux pour éviter les fuites.