Todos os produtos
Search
Central de documentação

ApsaraMQ for RabbitMQ:Comparação entre ApsaraMQ for RabbitMQ e RabbitMQ open-source

Última atualização: Jun 28, 2026

O ApsaraMQ for RabbitMQ é um serviço de mensagens totalmente gerenciado, construído sobre uma arquitetura de armazenamento distribuída e de alta disponibilidade. Ele implementa o protocolo AMQP 0-9-1 e mantém compatibilidade com clientes RabbitMQ open-source. Em comparação ao RabbitMQ open-source, o ApsaraMQ for RabbitMQ resolve problemas comuns de estabilidade, como acúmulo de mensagens e split-brain. Além disso, oferece as vantagens de um serviço de mensagens em nuvem, incluindo alta concorrência, implantação distribuída e dimensionamento flexível.

Este tópico compara o ApsaraMQ for RabbitMQ com o RabbitMQ open-source em termos de recursos, escalabilidade, confiabilidade, exchanges e filas.

Para obter a lista completa de vantagens, consulte Benefícios.

Recursos

Recurso

ApsaraMQ for RabbitMQ

RabbitMQ open-source

Protocolo

AMQP 0-9-1

AMQP 0-9-1, AMQP 1.0, STOMP, MQTT, http(S) e WebSocket

sdk do cliente

Todos os SDKs de cliente RabbitMQ open-source (qualquer linguagem, qualquer versão)

SDKs open-source

Mensagens atrasadas

Precisão de segundos. Compatível tanto com o plug-in x-delayed-message quanto com o método TTL. Consulte Mensagens atrasadas.

Requer plug-in ou o método de expiração e transferência de TTL da mensagem

Mensagens transacionais

Não suportado

Suportado

Mensagens ordenadas

Suportado. Consulte Consumo ordenado de mensagens.

Suportado

Prioridade de mensagem

Apenas instâncias dedicadas

Suportado

Nova tentativa de mensagem

Reentrega automática quando as mensagens não são confirmadas dentro de um período de tempo limite. Consulte Política de nova tentativa.

Sem nova tentativa integrada. Mensagens não confirmadas bloqueiam a fila, o que pode causar acúmulo e interrupção do serviço.

Autenticação

Nome de usuário e senha personalizados ou credenciais geradas a partir de um par AccessKey no Resource Access Management (RAM). Consulte Nomes de usuário e senhas estáticos e Credenciais do RAM.

Nome de usuário e senha personalizados

Controle de acesso

Modelo de permissão open-source e autorização baseada em políticas do RAM. Consulte Gerenciamento de permissões e Controle de acesso do RAM.

Modelo de permissão open-source

Observabilidade

Capacidade

ApsaraMQ for RabbitMQ

RabbitMQ open-source

Painel

Métricas integradas nos níveis de vhost, exchange e fila. A integração com Prometheus e Grafana vem pré-configurada. Consulte Painel.

Duas opções: (1) Use a interface de gerenciamento para métricas, mas crie sua própria camada de armazenamento e visualização. (2) configure o Prometheus e o Grafana manualmente.

Rastreamento de mensagens

Visualização de rastreamento no console que mostra todo o ciclo de vida da mensagem. Permite consulta por fila, id da mensagem ou tempo de processamento. Consulte Rastreamentos de mensagens.

Os dados de rastreamento são gravados em arquivos de log do servidor, tornando lentas a consulta e a análise de causa raiz.

Comandos AMQP

A tabela a seguir compara o comportamento do comando AMQP BasicCancel entre o ApsaraMQ for RabbitMQ e o RabbitMQ open-source.

Item

ApsaraMQ for RabbitMQ

RabbitMQ open-source

BasicCancel

Cancela a assinatura do consumidor; as mensagens já entregues retornam à fila.

Cancela a assinatura do consumidor; as mensagens já entregues permanecem no estado Unacked.

Essa diferença é importante ao solucionar problemas de entrega de mensagens após o cancelamento do consumidor. No ApsaraMQ for RabbitMQ, o retorno à fila após o BasicCancel significa que mensagens não confirmadas podem ser reentregues a outros consumidores. No RabbitMQ open-source, essas mensagens permanecem não confirmadas até que o canal seja fechado ou o tempo limite expire.

Escalabilidade e confiabilidade

Dimensão

ApsaraMQ for RabbitMQ

RabbitMQ open-source

Throughput do cluster

Sem limite superior fixo. Uma arquitetura distribuída sem mestre suporta expansão horizontal.

Limitado pela capacidade de um único nó. A expansão vertical exige atualizações de hardware.

Throughput de fila única

Sem limite superior fixo. Cada fila escala horizontalmente entre os nós.

Limitado pelo nó que hospeda a fila.

Conexões

Escalam junto com o cluster. Adicionar nós aumenta a capacidade de conexão sem degradar o desempenho.

Limitado pelos recursos de uma única máquina.

Mensagens atrasadas

Precisão de segundos, alto throughput, pronto para uso

Requer configuração de plug-in

Alta disponibilidade

Implantação multizona com separação de armazenamento e computação. Nós de computação com falha podem ser removidos e isolados rapidamente. Os dados são armazenados em três cópias.

Depende de filas espelhadas ou filas quorum. Essa implementação é propensa a problemas de split-brain.

Acúmulo de mensagens

Mantém o desempenho estável mesmo com grandes volumes acumulados. A operação normal do cluster não é afetada.

Grandes acúmulos consomem memória do nó e podem desencadear falhas de falta de memória, levando à interrupção do serviço.

Dimensionamento elástico

Expanda ou reduza adicionando ou removendo nós do cluster sob demanda. Instâncias serverless cobram com base no volume de mensagens, eliminando a necessidade de planejamento prévio de capacidade.

A capacidade é restrita pela maior máquina do cluster. O dimensionamento requer atualizações de hardware ou reparticionamento do cluster.

Autorrecuperação

Um sistema de inspeção integrado detecta e resolve automaticamente deadlocks e falhas de nó.

Sem autorrecuperação automatizada. É necessária intervenção manual.

Exchanges

O ApsaraMQ for RabbitMQ suporta os mesmos tipos e propriedades de exchange que o RabbitMQ open-source.

Propriedade

ApsaraMQ for RabbitMQ

RabbitMQ open-source

Tipos

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

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

Persistência

Persistente e não persistente

Persistente e não persistente

Exclusão automática

Suportado

Suportado

Interno

Suportado

Suportado

Exchange alternativa

Suportado

Suportado

Exchange de hash consistente

Suportado

Suportado

Filas

O ApsaraMQ for RabbitMQ abstrai as decisões de infraestrutura no nível da fila. Todas as filas executam em um cluster distribuído de alta disponibilidade, portanto, não há necessidade de escolha entre tipos de fila clássica e quorum ou de configurar a replicação manualmente.

Propriedade

ApsaraMQ for RabbitMQ

RabbitMQ open-source

Tipo de fila

Cluster HA distribuído (nenhuma configuração necessária)

Seleção manual necessária: fila clássica (espelhada) ou fila quorum

Atribuição de nó

Totalmente gerenciado, sem atribuição manual

Seleção manual de nó necessária

Política de nova tentativa

Reentrega automática no tempo limite de consumo. Consulte Política de nova tentativa.

Sem reentrega baseada em tempo limite

Persistência

Persistente e não persistente

Persistente e não persistente

Comprimento máximo / bytes de comprimento máximo / comprimento máximo em memória / bytes máximos em memória

Nenhuma configuração necessária. Suporta acúmulo massivo de mensagens sem pressão de memória.

Deve ser configurado para evitar falhas de falta de memória causadas por acúmulo ilimitado.

Limite de entrega

Valor padrão de 16 (estático). Consulte Política de nova tentativa.

Configuração manual necessária

Exchange de dead-letter

Suportado

Suportado

Chave de roteamento de dead-letter

Suportado

Suportado

Consumidor ativo único

Suportado. Consulte Consumo ordenado de mensagens.

Suportado

Ação

A tabela a seguir compara o comportamento do comando AMQP BasicCancel entre o ApsaraMQ for RabbitMQ e o RabbitMQ open-source.

Item

ApsaraMQ for RabbitMQ

RabbitMQ open-source

BasicCancel

Cancela a assinatura do consumidor; as mensagens já entregues retornam à fila.

Cancela a assinatura do consumidor; as mensagens já entregues permanecem no estado Unacked.