Todos los productos
Search
Centro de documentos

ApsaraMQ for RabbitMQ:ApsaraMQ for RabbitMQ frente a RabbitMQ de código abierto

Última actualización: Sep 05, 2026

ApsaraMQ for RabbitMQ es un servicio de mensajería totalmente administrado basado en una arquitectura de almacenamiento distribuida y de alta disponibilidad. Implementa el protocolo AMQP 0-9-1 y es compatible con clientes de RabbitMQ de código abierto. En comparación con RabbitMQ de código abierto, ApsaraMQ for RabbitMQ resuelve problemas comunes de estabilidad, como la acumulación de mensajes y los conflictos de cerebro dividido. También ofrece las ventajas de un servicio de mensajería en la nube, como alta concurrencia, despliegue distribuido y escalado flexible.

Este tema compara ApsaraMQ for RabbitMQ con RabbitMQ de código abierto en cuanto a funciones, escalabilidad, confiabilidad, exchanges y colas.

Para consultar la lista completa de ventajas, consulte Benefits.

Funciones

Feature

ApsaraMQ for RabbitMQ

Open-source RabbitMQ

Protocolo

AMQP 0-9-1

AMQP 0-9-1, AMQP 1.0, STOMP, MQTT, HTTP(S) y WebSocket

SDK del cliente

Todos los SDK de cliente de RabbitMQ de código abierto (cualquier lenguaje, cualquier versión)

SDK de código abierto

Mensajes diferidos

Precisión de segundos. Compatible tanto con el complemento x-delayed-message como con el método TTL. Consulte Delayed messages.

Requiere un complemento o el método de caducidad y transferencia de TTL del mensaje

Mensajes transaccionales

No compatible

Compatible

Mensajes ordenados

Compatible. Consulte Ordered consumption of messages.

Compatible

Prioridad de mensajes

Solo instancias dedicadas

Compatible

Reintento de mensajes

Redistribución automática cuando los mensajes no se confirman dentro de un periodo de tiempo de espera. Consulte Retry policy.

Sin reintento integrado. Los mensajes no confirmados bloquean la cola, lo que puede provocar acumulación e interrupción del servicio.

Autenticación

Nombre de usuario y contraseña personalizados, o credenciales generadas a partir de un par de AccessKey en Resource Access Management (RAM). Consulte Static usernames and passwords y RAM credentials.

Nombre de usuario y contraseña personalizados

Control de acceso

Modelo de permisos de código abierto y autorización basada en directivas de RAM. Consulte Permission management y RAM access control.

Modelo de permisos de código abierto

Observability

Capability

ApsaraMQ for RabbitMQ

Open-source RabbitMQ

Panel

Métricas integradas para vhost, exchange y cola. La integración con Prometheus y Grafana viene preconfigurada. Consulte Dashboard.

Dos opciones: (1) Usar la interfaz de administración para las métricas, pero construir su propia capa de almacenamiento y visualización. (2) Configure Prometheus y Grafana manualmente.

Rastreo de mensajes

Vista de rastreo en la consola que muestra el ciclo de vida completo del mensaje. Permite consultar por cola, ID de mensaje o tiempo de procesamiento. Consulte Message traces.

Los datos de rastreo se escriben en archivos de registro del servidor, lo que ralentiza las consultas y el análisis de causa raíz.

Comandos AMQP

La siguiente tabla compara el comportamiento del comando AMQP BasicCancel entre ApsaraMQ for RabbitMQ y RabbitMQ de código abierto.

Elemento

ApsaraMQ for RabbitMQ

RabbitMQ de código abierto

BasicCancel

Cancela la suscripción del consumidor; los mensajes ya entregados se vuelven a poner en la cola.

Cancela la suscripción del consumidor; los mensajes ya entregados permanecen en estado Unacked.

Esta diferencia es importante al solucionar problemas de entrega de mensajes tras la cancelación de un consumidor. En ApsaraMQ for RabbitMQ, la reencolación posterior a BasicCancel implica que los mensajes no confirmados pueden redistribuirse a otros consumidores. En RabbitMQ de código abierto, dichos mensajes permanecen sin confirmar hasta que se cierra el canal o expira el tiempo de espera.

Escalabilidad y confiabilidad

Dimension

ApsaraMQ for RabbitMQ

Open-source RabbitMQ

Throughput del clúster

Sin límite superior fijo. Una arquitectura distribuida sin nodo maestro admite el escalado horizontal.

Limitado por la capacidad de un solo nodo. El escalado vertical requiere actualizaciones de hardware.

Throughput de una sola cola

Sin límite superior fijo. Cada cola escala horizontalmente entre nodos.

Limitado por el nodo que aloja la cola.

Conexiones

Escalan con el clúster. Agregar nodos aumenta la capacidad de conexión sin degradar el rendimiento.

Limitado por los recursos de una sola máquina.

Mensajes diferidos

Precisión de segundos, alto throughput, listo para usar

Requiere configuración de complemento

Alta disponibilidad

Despliegue multizona con separación de almacenamiento y cómputo. Los nodos de cómputo defectuosos se pueden eliminar y aislar rápidamente. Los datos se almacenan por triplicado.

Depende de colas espejo o colas de quórum. Esta implementación es propensa a problemas de cerebro dividido.

Acumulación de mensajes

Mantiene un rendimiento estable incluso con grandes acumulaciones. El funcionamiento normal del clúster no se ve afectado.

Las grandes acumulaciones consumen memoria del nodo y pueden provocar fallos por falta de memoria, lo que causa interrupciones en el servicio.

Escalado elástico

Escale horizontalmente agregando o eliminando nodos del clúster bajo demanda. Las instancias serverless facturan según el volumen de mensajes, lo que elimina la necesidad de planificar la capacidad por adelantado.

La capacidad está restringida por la máquina más grande del clúster. El escalado requiere actualizaciones de hardware o reparticionamiento del clúster.

Autorreparación

Un sistema de inspección integrado detecta y resuelve automáticamente bloqueos y fallos de nodos.

Sin autorreparación automatizada. Se requiere intervención manual.

Exchanges

ApsaraMQ for RabbitMQ admite los mismos tipos y propiedades de exchange que RabbitMQ de código abierto.

Property

ApsaraMQ for RabbitMQ

Open-source RabbitMQ

Tipos

direct, fanout, headers, topic, x-delayed-message, x-consistent-hash

direct, fanout, headers, topic, x-delayed-message, x-consistent-hash

Persistencia

Persistente y no persistente

Persistente y no persistente

Eliminación automática

Compatible

Compatible

Interno

Compatible

Compatible

Exchange alternativo

Compatible

Compatible

Exchange de hash consistente

Compatible

Compatible

Colas

ApsaraMQ for RabbitMQ abstrae las decisiones de infraestructura de las colas. Todas las colas se ejecutan en un clúster distribuido de alta disponibilidad, por lo que no es necesario elegir entre tipos de cola clásica y de quórum, ni configurar la replicación manualmente.

Property

ApsaraMQ for RabbitMQ

Open-source RabbitMQ

Tipo de cola

Clúster de alta disponibilidad distribuido (sin configuración obligatoria)

Selección manual obligatoria: clásica (cola espejo) o cola de quórum

Asignación de nodos

Totalmente administrada, sin asignación manual

Selección manual de nodos obligatoria

Directiva de reintento

Redistribución automática al agotar el tiempo de consumo. Consulte Retry policy.

Sin redistribución basada en tiempo de espera

Persistencia

Persistente y no persistente

Persistente y no persistente

Longitud máxima / bytes de longitud máxima / longitud máxima en memoria / bytes máximos en memoria

Sin configuración obligatoria. Admite acumulación masiva de mensajes sin presión sobre la memoria.

Debe configurarse para evitar fallos por falta de memoria causados por acumulación ilimitada.

Límite de entrega

Valor predeterminado de 16 (estático). Consulte Retry policy.

Configuración manual obligatoria

Exchange de mensajes muertos

Compatible

Compatible

Clave de enrutamiento de mensajes muertos

Compatible

Compatible

Consumidor activo único

Compatible. Consulte Ordered consumption of messages.

Compatible

Acción

La siguiente tabla compara el comportamiento del comando AMQP BasicCancel entre ApsaraMQ for RabbitMQ y RabbitMQ de código abierto.

Elemento

ApsaraMQ for RabbitMQ

RabbitMQ de código abierto

BasicCancel

Cancela la suscripción del consumidor; los mensajes ya entregados se vuelven a poner en la cola.

Cancela la suscripción del consumidor; los mensajes ya entregados permanecen en estado Unacked.