Saltar al contenido principal

RabbitMQ

1. Visión General​

El add-on RabbitMQ implementa una instancia de RabbitMQ, un message broker que habla AMQP 0-9-1. Permite que flows y apps intercambien mensajes de forma asíncrona, desacoplando productores y consumidores: colas de trabajo, publicación/suscripción vía exchanges, reintentos, dead-lettering y absorción de picos de carga.

Úsalo cuando necesitas mensajería duradera entre componentes. Para caché/contadores usa Cache (Valkey); para datos relacionales, PostgreSQL; para búsqueda vectorial, Qdrant.

Tags del catálogo: Message broker, AMQP, Queues.

2. Prerrequisitos​

  • Un squad y un entorno ya seleccionados en la pantalla de Add-ons.

3. Paso a paso del Deploy​

El asistente de deploy de RabbitMQ tiene 3 pasos:

Paso 1 — General​

CampoObligatorioDescripción
Add-on NameSíNombre del add-on dentro del entorno. Solo letras minúsculas, números y guiones. Ejemplo: my-broker.
Virtual HostNoVirtual host predeterminado aprovisionado en la instancia. Predeterminado: /.
Admin PublicNoCuando está activado, la UI de gestión nativa de RabbitMQ queda accesible públicamente. Desactivado por defecto (acceso restringido por la plataforma).

Paso 2 — Admin User​

Define el usuario administrador (de gestión) de la instancia.

CampoObligatorioDescripción
UsernameSíNombre del usuario administrador. Predeterminado: admin.
PasswordSíContraseña del usuario administrador.

Paso 3 — Resources​

Define los recursos de cómputo asignados a la instancia.

CampoPredeterminadoSugerencia/Máximo
Memory Limit512Mi1Gi
CPU Limit500m2000m
Storage Size5Gi20Gi

Al hacer clic en Deploy Add-on, comienza la implementación. El add-on pasa a aparecer en la pestaña My Add-ons del entorno.

4. Después del Deploy​

El panel del add-on en la plataforma cubre el ciclo completo de operación del día a día, organizado en pestañas (con alcance por virtual host donde aplica):

  • Overview — gráficos en vivo de tasas de mensajes y de mensajes encolados (ventana seleccionable: 1 min a 24 h), totales (ready/unacked/total) y conteos de topología (colas, exchanges, conexiones, canales, consumidores).
  • Exchanges — listar, declarar (tipo, durabilidad, argumentos), inspeccionar bindings y hacer publicación de prueba, y eliminar.
  • Queues — listar, declarar (classic/quorum/stream) y, por cola, el ciclo completo: bindings, publish, get messages (espiar o consumir), purge y eliminar.
  • Connections — inspeccionar las conexiones de clientes abiertas y sus canales, y forzar el cierre de una conexión.
  • Credentials — usuarios con tags y permisos (configure/write/read por virtual host) y permisos de tópico; crear/editar/eliminar y exportar las credenciales de un usuario a un secret de la plataforma.
  • Settings — recursos (memoria/CPU/almacenamiento — el almacenamiento solo crece) y la visibilidad (Privado/Público) de la UI de gestión.

Además del panel, la UI de gestión nativa de RabbitMQ está disponible mediante el botón Open management UI, con el conjunto completo de funcionalidades. Cuando Admin Public está desactivado (predeterminado), el acceso está protegido por la sesión de la plataforma (aún así se requiere iniciar sesión en el broker).

Conectando un flow a RabbitMQ​

Los flows se conectan al broker vía AMQP, usando la Internal URL del add-on (amqp://<nombre-del-addon>:5672). Las credenciales de conexión deben quedar en secrets:

  1. En la pestaña Credentials, crea un usuario dedicado con permisos mínimos (evita compartir el admin), y usa Export — la plataforma escribe host, port (AMQP), username, password, vhost y useTls en un secret (nuevo o existente).
  2. En el conector del flow, referencia esas propiedades como {$.env.<secret>.<prop>}.

El Export queda habilitado solo para usuarios cuya contraseña la plataforma posee (el admin y usuarios creados por el panel); un usuario creado por fuera aparece con el export deshabilitado.

5. Preguntas frecuentes​

¿Puedo cambiar la contraseña del usuario administrador?

Sí. En la pestaña Credentials, el usuario de gestión permite cambiar la contraseña (solo la contraseña). La instancia se actualiza para aplicar la nueva contraseña; cualquier secret ya exportado con la contraseña antigua debe re-exportarse.