Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Prácticas recomendadas para la resiliencia y la supervisión de la red en Amazon MQ para RabbitMQ
La resiliencia de la red y el monitoreo de las métricas de los intermediarios son esenciales para mantener aplicaciones de mensajería confiables. Siga las siguientes prácticas recomendadas para implementar mecanismos de recuperación automática y estrategias de monitoreo de recursos.
Paso 1: Recuperarse automáticamente de las fallas de la red
Se recomienda habilitar siempre la recuperación automática de red para evitar un tiempo de inactividad significativo en caso de falla de las conexiones del cliente con los nodos de RabbitMQ. La biblioteca de cliente Java de RabbitMQ admite la recuperación automática de red de forma predeterminada, a partir de la versión 4.0.0
.
En caso de falla en la conexión inicial entre un cliente y un nodo de RabbitMQ, no se activará la recuperación automática. Recomendamos escribir el código de la aplicación para tener en cuenta los errores de conexión iniciales al volver a intentar la conexión. En el siguiente ejemplo, se muestran fallas al reintentar iniciar la red mediante la biblioteca de cliente Java de 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 }
nota
Si una aplicación cierra una conexión con el método Connection.Close
, la recuperación automática de red no se activará ni se disparará.
Paso 2: Supervise las métricas y alarmas de los intermediarios
Le recomendamos que supervise periódicamente CloudWatch las métricas y las alarmas de su agente de Amazon MQ for RabbitMQ para identificar y abordar posibles problemas antes de que afecten a su aplicación de mensajería. El monitoreo proactivo es esencial para mantener una aplicación de mensajería flexible y garantizar un rendimiento óptimo.
Amazon MQ for RabbitMQ publica métricas CloudWatch que proporcionan información sobre el rendimiento de los corredores, la utilización de los recursos y el flujo de mensajes. Las métricas clave que se deben monitorear incluyen el uso de memoria y el uso del disco. Puede configurar CloudWatch alarmas para cuando su agente se acerque a los límites de recursos o experimente una degradación del rendimiento.
Supervise las siguientes métricas esenciales:
RabbitMQMemUsed
yRabbitMQMemLimit
-
Supervise el uso de la memoria para evitar que las alarmas de memoria puedan bloquear la publicación de mensajes.
RabbitMQDiskFree
yRabbitMQDiskFreeLimit
-
Supervise el uso del disco para evitar problemas de espacio en disco que puedan provocar errores en el intermediario.
Para las implementaciones de clústeres, supervise también las métricas específicas de los nodos para identificar problemas específicos de los nodos.
nota
Para obtener más información sobre cómo evitar una alarma de memoria excesiva, consulte Abordar y evitar una alarma de memoria excesiva.