Todos los productos
Search
Centro de documentos

ApsaraMQ for RabbitMQ:Consumo ordenado

Última actualización: Sep 05, 2026

El consumo ordenado garantiza que los mensajes se entreguen a los consumidores en el mismo orden en que se publicaron. ApsaraMQ for RabbitMQ logra esto mediante el modo Single Active Consumer y una ordenación por mezcla entre particiones de almacenamiento distribuido, lo que proporciona las mismas semánticas de ordenamiento que RabbitMQ de código abierto.

Funcionamiento

El consumo ordenado requiere dos condiciones: almacenamiento ordenado y un único consumidor.

RabbitMQ de código abierto

  • Único consumidor: RabbitMQ de código abierto admite dos modos: Single Active Consumer y Exclusive Consumer. La comunidad de código abierto recomienda Single Active Consumer.

  • Almacenamiento ordenado: Los mensajes de una misma cola se leen y escriben en un solo nodo, lo que preserva inherentemente el orden de los mensajes.

ApsaraMQ for RabbitMQ

  • Único consumidor: ApsaraMQ for RabbitMQ utiliza el modo Single Active Consumer recomendado por la comunidad de código abierto.

  • Almacenamiento ordenado: ApsaraMQ for RabbitMQ emplea una arquitectura distribuida con almacenamiento y cómputo desacoplados. Los mensajes de una sola cola se distribuyen en varias particiones a través de varios nodos. Los nodos de cómputo leen los mensajes de estas particiones de almacenamiento, ejecutan una ordenación por mezcla y los entregan al consumidor en el orden correcto. Esto permite obtener las mismas semánticas de consumo ordenado que RabbitMQ de código abierto.

Ordenación por mezcla en la arquitectura distribuida

image

En el modo Single Active Consumer, una cola mantiene solo una conexión activa; las demás permanecen inactivas. El nodo de cómputo que posee la conexión activa extrae los mensajes de todos los nodos de almacenamiento, los ordena y los entrega al consumidor.

Dado que el nodo de cómputo ordena los mensajes antes de entregarlos, almacena temporalmente algunos mensajes en caché. Si la conexión activa realiza un failover hacia otro nodo de cómputo, estos mensajes en caché se vuelven a agregar a la cola de consumo para su reentrega.

Beneficios

En comparación con RabbitMQ de código abierto, la arquitectura distribuida de ApsaraMQ for RabbitMQ ofrece:

  • Alta concurrencia y escalabilidad: Varias particiones permiten escrituras de alta concurrencia y escalado horizontal.

  • Alta disponibilidad: Varios consumidores pueden conectarse a varios nodos de cómputo. Si un consumidor o un nodo de cómputo falla, el sistema realiza rápidamente un failover a un nodo sano para mantener la continuidad del servicio.

Habilite el consumo ordenado

Para habilitar el consumo ordenado, establezca el argumento x-single-active-consumer en true cuando cree la cola.

Importante

El servidor ordena los mensajes antes de entregarlos, lo que puede reducir la tasa de consumo. Evalúe si su caso de uso requiere consumo ordenado antes de habilitar esta función.

Limitaciones

El consumo ordenado está disponible únicamente en a continuación ediciones de instancia:

  • Enterprise Edition

  • Platinum Edition

  • Serverless Edition