Cómo monitorizar RabbitMQ (sin perder mensajes, dinero o sueño)

Imagínese esto: es lunes por la mañana. Su sitio de comercio electrónico está realizando una “venta flash de 48 horas”. Los pedidos llegan a toda velocidad, los pagos se procesan y el equipo de atención al cliente está inusualmente tranquilo, algo maravilloso.

Entonces, de repente, Slack explota.

  • “La caja se atasca al girar...”

  • “Las confirmaciones de pedido no salen”.”

  • “El inventario se ve mal”.”

  • “¿Por qué las devoluciones llevan horas en cola?”

Al principio, todo mira saludable: La CPU está bien, los servidores web funcionan y los gráficos de la base de datos no muestran nada dramático. Pero el sistema sigue... congelado.

Tras 45 minutos de lucha contra el fuego, encuentras al verdadero culpable: RabbitMQ. Algunas colas se inflaron, los consumidores se ralentizaron, los acuses de recibo se acumularon y la memoria llegó al límite. RabbitMQ empezó a aplicar control de flujo, los publicadores empezaron a perder tiempo y su lógica de negocio dejó de mover mensajes a través de flujos de trabajo críticos.

Precisamente por eso Supervisión de RabbitMQ no es opcional. Si RabbitMQ es el “sistema circulatorio” de su arquitectura, entonces la monitorización es el monitor cardíaco que le dice que algo va mal antes de el paciente se desploma.

(más…)