O ApsaraMQ for RabbitMQ é um serviço de mensagens totalmente gerenciado, desenvolvido com base no protocolo AMQP 0-9-1. Ele oferece mensagens confiáveis em escala por meio de uma arquitetura de armazenamento distribuído de alta disponibilidade e elimina a sobrecarga operacional da gestão manual de clusters RabbitMQ.
O ApsaraMQ for RabbitMQ é compatível com clientes RabbitMQ open source; assim, aplicações existentes podem se conectar com alterações mínimas no código. O serviço fornece capacidades nativas da nuvem, como alta concorrência, arquitetura distribuída e dimensionamento elástico. Além disso, sua infraestrutura gerenciada elimina problemas comuns de estabilidade em ambientes auto-hospedados, como acúmulo de mensagens e split-brain.
Quem deve usar o ApsaraMQ for RabbitMQ?
O ApsaraMQ for RabbitMQ foi projetado para desenvolvedores, arquitetos e equipes de operações que:
Precisam de um broker de mensagens baseado em padrões (AMQP 0-9-1) sem gerenciar a infraestrutura subjacente
Desejam migrar de um ambiente RabbitMQ auto-hospedado para um serviço gerenciado com total compatibilidade de cliente
Exigem mensagens de alta disponibilidade com tolerância a falhas integrada e dimensionamento elástico
Serviço gerenciado vs. RabbitMQ auto-hospedado
O ApsaraMQ for RabbitMQ apresenta vantagens essenciais sobre o RabbitMQ open source em desempenho, estabilidade e recursos. Como serviço gerenciado, ele remove a carga operacional de administrar nós de broker, armazenamento e failover. Para obter uma comparação detalhada, consulte Comparação com o RabbitMQ open source.
Conceitos principais
|
Conceito |
Descrição |
|
Producer |
Aplicação que envia mensagens para um exchange. |
|
Consumer |
Aplicação que recebe e processa mensagens de uma fila. |
|
Exchange |
Componente que recebe mensagens dos producers e as encaminha para uma ou mais filas conforme as regras de roteamento. |
|
Queue |
Buffer que armazena mensagens até um consumer recuperá-las. |
|
Binding |
Vínculo entre um exchange e uma fila que define a regra de roteamento aplicada. |
|
Routing key |
Atributo da mensagem que o exchange avalia em relação aos bindings para determinar quais filas recebem a mensagem. Funciona como um rótulo de endereço na mensagem. |
|
Connection |
Conexão TCP entre sua aplicação e o broker do ApsaraMQ for RabbitMQ. |
|
Channel |
Conexão virtual leve dentro de uma conexão TCP. Todas as operações de publicação e consumo ocorrem por channels, o que possibilita múltiplas operações simultâneas em uma única conexão. |
Para acessar a lista completa de termos, consulte o Glossário.
Como funciona
Uma mensagem percorre cinco etapas no ApsaraMQ for RabbitMQ:
O producer publica uma mensagem em um exchange e especifica uma routing key.
O exchange avalia a routing key em relação aos seus bindings.
Com base no tipo de exchange e nas regras de binding, o exchange direciona a mensagem para uma ou mais filas.
A mensagem permanece na fila até um consumer recuperá-la.
O consumer extrai a mensagem da fila, processa-a e envia um reconhecimento.
Tipos de exchange
O tipo de exchange define o comportamento de roteamento das mensagens:
|
Tipo |
Comportamento de roteamento |
|
Direct |
Encaminha mensagens para filas cuja chave de binding corresponda exatamente à routing key. |
|
Fanout |
Transmite mensagens para todas as filas vinculadas e ignora as routing keys. |
|
Topic |
Roteia mensagens por correspondência de padrões com curingas entre a routing key e os padrões de binding. |
|
Headers |
Direciona mensagens com base em atributos de cabeçalho em vez da routing key. |

Benefícios
O ApsaraMQ for RabbitMQ é flexível e fácil de usar. Ele oferece diversas vantagens em relação ao RabbitMQ auto-hospedado, incluindo recursos aprimorados, desempenho superior e alta confiabilidade:
Sem sobrecarga operacional -- Por ser um serviço gerenciado, permite concentrar esforços nas aplicações em vez da manutenção do broker.
Alta disponibilidade -- Baseado em armazenamento distribuído com failover automático, elimina riscos de split-brain.
Dimensionamento elástico -- Ajuste o throughput e o armazenamento sob demanda.
Alta concorrência -- Suporta grandes volumes de conexões e mensagens simultâneas.
Compatibilidade total -- Funciona com as bibliotecas de clientes RabbitMQ open source existentes.
Para mais detalhes, consulte Benefícios.
Recursos
Além das capacidades do RabbitMQ open source, o ApsaraMQ for RabbitMQ fornece:
Compatibilidade com open source -- Suporta AMQP 0-9-1 e opera com bibliotecas de clientes RabbitMQ padrão.
Múltiplos tipos de mensagem -- Aceita diversos formatos de mensagem para atender a diferentes padrões de mensageria.
Suporte abrangente a O&M -- Oferece monitoramento e suporte operacional integrados pelo console da Alibaba Cloud.
Para visualizar a lista completa de recursos, consulte Recursos.
Casos de uso
O ApsaraMQ for RabbitMQ é utilizado em setores como finanças, seguros, governo e empresas, e-commerce, novo varejo, logística, vídeo interativo e energia. Os casos de uso típicos incluem:
Desacoplamento assíncrono -- Separe o processamento de backend demorado dos serviços voltados ao usuário. Por exemplo, coloque tarefas de processamento de pedidos em uma fila para manter o serviço web responsivo enquanto os workers lidam com o atendimento independentemente.
Absorção de picos de carga -- Armazene picos repentinos de tráfego em filas e permita que os consumers processem mensagens em um ritmo sustentável para evitar a sobrecarga dos sistemas downstream.
Sincronização de cache distribuído -- Transmita eventos de invalidação de cache para vários serviços por meio de exchanges fanout e mantenha os caches distribuídos consistentes em toda a arquitetura.
Para descrições detalhadas dos casos de uso, consulte Cenários.
Limites
O ApsaraMQ for RabbitMQ impõe limites em clusters, chamadas de API e caracteres. Exceder esses limites causa erros na aplicação. Para valores específicos, consulte Limites.
Próximos passos
Comparação com o RabbitMQ open source: Comparativo de desempenho, estabilidade e recursos.
Benefícios: Vantagens em relação ao RabbitMQ auto-hospedado.
Recursos: Referência completa de funcionalidades.
Cenários: Detalhes de casos de uso específicos por setor.
Glossário: Referência completa de terminologia.