Todos os produtos
Search
Central de documentação

ApsaraMQ for RabbitMQ:Ordered consumption

Última atualização: Jun 28, 2026

O consumo ordenado garante a entrega das mensagens aos consumidores na mesma ordem de publicação. O ApsaraMQ for RabbitMQ implementa esse comportamento por meio do modo Single Active Consumer e da ordenação por intercalação (merge sort) entre partições de armazenamento distribuído, oferecendo a mesma semântica de ordenação do RabbitMQ open source.

Funcionamento

O consumo ordenado exige dois requisitos: armazenamento ordenado e consumidor único.

RabbitMQ open source

  • Consumidor único: o RabbitMQ open source oferece dois modos: Single Active Consumer e Exclusive Consumer. A comunidade open source recomenda o Single Active Consumer.

  • Armazenamento ordenado: as mensagens de uma mesma fila são lidas e gravadas em um único nó, o que preserva naturalmente sua ordem.

ApsaraMQ for RabbitMQ

  • Consumidor único: o ApsaraMQ for RabbitMQ adota o modo Single Active Consumer, conforme recomendação da comunidade open source.

  • Armazenamento ordenado: o ApsaraMQ for RabbitMQ utiliza arquitetura distribuída com armazenamento e computação desacoplados. As mensagens de uma única fila distribuem-se por várias partições em múltiplos nós. Os nós de computação leem essas partições, aplicam a ordenação por intercalação (merge sort) e entregam as mensagens ao consumidor na sequência correta. Assim, obtém-se a mesma semântica de consumo ordenado do RabbitMQ open source.

Ordenação por intercalação na arquitetura distribuída

image

No modo Single Active Consumer, cada fila mantém apenas uma conexão ativa; as demais permanecem inativas. O nó de computação responsável pela conexão ativa busca as mensagens em todos os nós de armazenamento, ordena-as e as entrega ao consumidor.

Como o nó de computação precisa ordenar as mensagens antes da entrega, ele armazena temporariamente parte delas em cache. Caso ocorra failover da conexão ativa para outro nó de computação, essas mensagens em cache retornam à fila de consumo para reentrega.

Benefícios

Em comparação ao RabbitMQ open source, a arquitetura distribuída do ApsaraMQ for RabbitMQ oferece:

  • Alta concorrência e escalabilidade: múltiplas partições permitem gravações com alta concorrência e dimensionamento horizontal.

  • Alta disponibilidade: vários consumidores podem se conectar a diferentes nós de computação. Se um consumidor ou nó de computação falhar, o sistema executa rapidamente o failover para um nó íntegro e mantém a continuidade do serviço.

Ative o consumo ordenado

Para ativar o consumo ordenado, defina o argumento x-single-active-consumer como true ao criar a fila.

Importante

O servidor ordena as mensagens antes da entrega, o que pode reduzir a taxa de consumo. Avalie se o seu caso de uso exige consumo ordenado antes de ativar este recurso.

Limitações

O consumo ordenado está disponível apenas nas seguintes edições de instância:

  • Enterprise Edition

  • Platinum Edition

  • Serverless Edition