Amazon MQ

Servicio completamente administrado de Apache ActiveMQ y RabbitMQ que permite migrar aplicaciones de mensajería existentes a la nube con cambios mínimos de código

Descripción general

Amazon MQ es un servicio de broker de mensajes completamente administrado que soporta Apache ActiveMQ y RabbitMQ. Está diseñado para organizaciones que ya utilizan estos brokers on-premises y desean migrar a la nube sin reescribir las aplicaciones de mensajería. Soporta protocolos estándar de la industria como AMQP, MQTT, OpenWire, STOMP y WebSocket, permitiendo que las aplicaciones existentes se conecten sin cambios de código. Gestiona automáticamente el aprovisionamiento de hardware, la aplicación de parches y la alta disponibilidad.

Selección de motor de broker y configuración de despliegue

Amazon MQ ofrece dos motores: ActiveMQ y RabbitMQ, cada uno con características distintas. ActiveMQ es adecuado para aplicaciones empresariales que requieren soporte de múltiples protocolos (AMQP, MQTT, OpenWire, STOMP, WebSocket) y funcionalidades avanzadas como composite destinations, virtual destinations y message groups. RabbitMQ es preferible para arquitecturas de microservicios que utilizan AMQP como protocolo principal y necesitan routing flexible mediante exchanges (direct, topic, fanout, headers). Las opciones de despliegue incluyen: single-instance (desarrollo/pruebas), active/standby (producción con failover automático) y cluster (RabbitMQ, para alta disponibilidad y throughput). El modo active/standby de ActiveMQ utiliza almacenamiento compartido (EFS) para garantizar que los mensajes persistan durante el failover.

Network of Brokers de ActiveMQ y persistencia

Para cargas de trabajo que exceden la capacidad de un solo broker, ActiveMQ soporta Network of Brokers, donde múltiples brokers se interconectan para distribuir la carga de mensajes. Los mensajes se enrutan automáticamente entre brokers según la demanda de los consumidores, permitiendo escalado horizontal. La persistencia de mensajes utiliza KahaDB (almacenamiento basado en journal) con replicación a EFS en configuraciones active/standby. Los mensajes persistentes sobreviven reinicios del broker y failovers, mientras que los mensajes no persistentes ofrecen mayor throughput a costa de durabilidad. Las dead-letter queues capturan mensajes que no pueden entregarse después de un número configurable de reintentos, permitiendo análisis posterior de fallos. La configuración de políticas de redelivery (delay, backoff multiplier, máximo de reintentos) es crucial para manejar consumidores temporalmente no disponibles sin perder mensajes.

Autenticación, cifrado y ventana de mantenimiento

La seguridad de Amazon MQ incluye cifrado en tránsito (TLS) y en reposo (KMS), autenticación mediante usuarios/contraseñas almacenados en la configuración del broker o integración con LDAP (ActiveMQ). Las conexiones se realizan a través de endpoints privados en la VPC, y los security groups controlan qué clientes pueden conectarse. La autorización a nivel de destino (queue/topic) permite definir qué usuarios pueden enviar, recibir o administrar cada destino. Las ventanas de mantenimiento programan actualizaciones de parches del broker con tiempo de inactividad mínimo (típicamente segundos en configuraciones active/standby). Los logs de auditoría y métricas de CloudWatch proporcionan visibilidad sobre el rendimiento del broker (mensajes en cola, tasa de producción/consumo, conexiones activas, uso de memoria). Las alarmas de CloudWatch alertan sobre condiciones como acumulación excesiva de mensajes o uso de almacenamiento cercano al límite.

共有するXB!