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 en matière de résilience et de surveillance du réseau dans Amazon MQ pour RabbitMQ
La résilience du réseau et la surveillance des métriques des courtiers sont essentielles pour garantir la fiabilité des applications de messagerie. Suivez les meilleures pratiques suivantes pour mettre en œuvre des mécanismes de restauration automatique et des stratégies de surveillance des ressources.
Étape 1 : restauration automatique en cas de défaillance du réseau
Nous vous recommandons de toujours activer la récupération automatique du réseau pour éviter les temps d'arrêt importants en cas d'échec des connexions client aux nœuds RabbitMQ. La bibliothèque client Java RabbitMQ prend en charge la récupération automatique du réseau par défaut, en commençant par la version 4.0.0
.
Dans les cas où la connexion initiale entre un client et un nœud RabbitMQ échoue, la récupération automatique ne sera pas déclenchée. Nous vous recommandons d'écrire votre code d'application pour tenir compte des échecs de connexion initiaux en tentant de nouveau la connexion. L'exemple suivant illustre la nouvelle tentative d'échec réseau initial à l'aide de la bibliothèque client Java RabbitMQ.
ConnectionFactory factory = new ConnectionFactory(); // enable automatic recovery if using RabbitMQ Java client library prior to version 4.0.0. factory.setAutomaticRecoveryEnabled(true); // configure various connection settings try { Connection conn = factory.newConnection(); } catch (java.net.ConnectException e) { Thread.sleep(5000); // apply retry logic }
Note
Si une application ferme une connexion à l'aide de la méthode Connection.Close
, la récupération automatique du réseau ne sera ni activée ni déclenchée.
Étape 2 : Surveiller les métriques et les alarmes des courtiers
Nous vous recommandons de surveiller régulièrement CloudWatch les métriques et les alarmes de votre courtier Amazon MQ pour RabbitMQ afin d'identifier et de résoudre les problèmes potentiels avant qu'ils n'affectent votre application de messagerie. La surveillance proactive est essentielle pour maintenir une application de messagerie résiliente et garantir des performances optimales.
Amazon MQ pour RabbitMQ publie des statistiques CloudWatch qui fournissent des informations sur les performances des courtiers, l'utilisation des ressources et le flux de messages. Les indicateurs clés à surveiller incluent l'utilisation de la mémoire et l'utilisation du disque. Vous pouvez configurer des CloudWatch alarmes lorsque votre courtier approche des limites de ressources ou subit une dégradation des performances.
Surveillez les indicateurs essentiels suivants :
RabbitMQMemUsed
etRabbitMQMemLimit
-
Surveillez l'utilisation de la mémoire pour éviter les alarmes susceptibles de bloquer la publication des messages.
RabbitMQDiskFree
etRabbitMQDiskFreeLimit
-
Surveillez l'utilisation du disque pour éviter les problèmes d'espace disque susceptibles de provoquer des défaillances du broker.
Pour les déploiements de clusters, surveillez également les métriques spécifiques aux nœuds afin d'identifier les problèmes spécifiques aux nœuds.
Note
Pour plus d'informations sur la façon de prévenir une alarme de mémoire trop importante, voir Corriger et empêcher une alarme de mémoire trop importante.