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 des courtiers et la gestion des connexions constituent la première étape pour éviter les problèmes liés au débit des messages des courtiers, à l'utilisation des ressources et à la capacité à gérer les charges de travail de production. Lorsque vous créez et configurez 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 la pré-lecture 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 périodiquement tout compte créé par un client appelé « invité ».
Étape 1 : utiliser les déploiements de clusters
Pour les charges de travail de production, nous vous recommandons d'utiliser des déploiements en clusters plutôt que des courtiers à instance unique afin de garantir une haute disponibilité et une 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 dans trois zones de disponibilité, permettant un basculement automatique et garantissant la poursuite 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 afin de 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 la section Déploiement de clusters dans Amazon MQ pour RabbitMQ.
Étape 2 : Choisissez le type d'instance de courtier approprié
Le débit des 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 instance plus petite avant d'utiliser des instances plus grandes en production peut améliorer les performances des applications. Sur les types d'instance m7g.large et les versions supérieures, vous pouvez utiliser des déploiements de clusters pour garantir une haute disponibilité et la durabilité des messages. Les types d'instances de courtier plus importants 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 instructions de dimensionnement dans Amazon MQ pour RabbitMQ.
Étape 3 : Utiliser les files d'attente de quorum
Les files d'attente Quorum, avec 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 à partir de la version 3.13. Les files d'attente Quorum sont un type de file d'attente répliquée 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 offrir une meilleure 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 poursuite de la diffusion 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é entière 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 Files d'attente 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 ratio de 1 : 1 connexion par canal. Nous vous recommandons d'utiliser une connexion pour chaque processus, puis un canal pour chaque thread. Évitez l'utilisation excessive des canaux pour éviter les fuites.
Les clients qui se connectent à un courtier via TLS sont responsables de la vérification du certificat du courtier. Pour de plus amples informations, consultez Meilleures pratiques pour la vérification des certificats TLS dans Amazon MQ pour RabbitMQ.