Crie os recursos do ApsaraMQ for RabbitMQ necessários para suas aplicações: instância, vhost, exchange, fila e binding.
Hierarquia de recursos
Instance
└── Vhost (logical isolation)
├── Exchange (routes messages)
└── Queue (stores messages)
└── Binding (connects an exchange to a queue)
|
Recurso |
Função |
|
Instance |
Contêiner de nível superior para todos os outros recursos. |
|
Vhost |
Isola exchanges, filas e bindings. Uma instância pode conter vários vhosts. |
|
Exchange |
Recebe mensagens dos produtores e as encaminha para filas com base em uma chave de roteamento. |
|
Queue |
Armazena mensagens até que os consumidores as recuperem. |
|
Binding |
Vincula um exchange a uma fila usando uma chave de roteamento. |
Fluxo de dados: Produtor > Exchange > (chave de roteamento + binding) > Fila > Consumidor
Pré-requisitos
Se você utilizar um usuário do Resource Access Management (RAM), conceda as permissões necessárias. Etapa 1: (Opcional) Conceder permissões a um usuário RAM
Ao criar uma instância do ApsaraMQ for RabbitMQ com um usuário RAM, selecione pelo menos dois vSwitches durante a configuração de rede. Caso contrário, a criação da instância falhará.
Etapa 1: Criar uma instância
Faça login no console do ApsaraMQ for RabbitMQ. No painel de navegação à esquerda, clique em Instances.
Na barra de navegação superior, selecione uma região. Na página Instances, clique em Create Instance.
Na página de compra, configure as definições da instância, aceite os termos de serviço e clique em Buy Now.
Conclua o pagamento.
Após o pagamento, retorne à página Instances e selecione sua região para visualizar a instância.
Etapa 2: Criar um vhost
O vhost isola recursos. Especifique um vhost antes de conectar um produtor ou consumidor.
Na página Instances, clique no nome da instância.
No painel de navegação à esquerda, clique em Vhosts.
Na página Vhosts, clique em Create Vhost.
No painel Create Vhost, insira um nome no campo vhost Name e clique em OK.
Etapa 3: Criar um exchange
O exchange encaminha mensagens do produtor para as filas por meio da chave de roteamento. Exchange
No painel de navegação à esquerda, clique em Exchanges.
Na página Exchanges, expanda a lista suspensa vhost, selecione o vhost desejado em Change e clique em Create Exchange.
No painel Create Exchange, configure os parâmetros abaixo e clique em OK.
Parâmetros do exchange
|
Parâmetro |
Obrigatório |
Descrição |
|
Exchange Name |
Sim |
1. The Exchange name supports only letters, digits, hyphens (-), underscores (_), periods (.), pound signs (#), slashes (/), at signs (@), colons (:), commas (,), spaces ( ), and greater-than signs (>). Length: 1–255 characters. Nomes iniciados com |
|
Type |
Sim |
Tipo do exchange. |
|
Internal |
Não |
Define se o exchange é interno. Padrão: No. Defina como Yes para vincular este exchange a outro exchange em vez de a uma fila. |
Os parâmetros a seguir aparecem apenas para tipos específicos de exchange:
|
Parâmetro |
Quando configurar |
Descrição |
|
x-delayed-type |
Type = |
Regra de roteamento para o exchange de mensagens atrasadas. |
|
Hash value |
Type = |
Entrada para o cálculo de hash. Valores válidos: RoutingKey, Header Value. |
|
hash-header |
Type = |
Cabeçalho usado como entrada para o cálculo de hash. |
Tipos de exchange
|
Tipo |
Lógica de roteamento |
Descrição |
|
direct |
Correspondência exata |
Encaminha mensagens para filas cuja chave de roteamento corresponda exatamente à chave de roteamento da mensagem. |
|
topic |
Correspondência por padrão |
Encaminha mensagens para filas cuja chave de binding corresponda à chave de roteamento da mensagem por padrão. |
|
fanout |
Broadcast |
Encaminha mensagens para todas as filas vinculadas, ignorando as chaves de roteamento. |
|
headers |
Correspondência por cabeçalho |
Roteia mensagens comparando pares chave-valor de cabeçalho com atributos de binding, em vez de usar chaves de roteamento. |
|
x-delayed-message |
Entrega atrasada |
Atrasa a entrega da mensagem pela duração especificada no atributo de cabeçalho |
|
x-consistent-hash |
Hash consistente |
Aplica hash às chaves de roteamento ou valores de cabeçalho e usa hash consistente para distribuir mensagens entre as filas. |
Etapa 4: Criar uma fila
As filas armazenam mensagens até que os consumidores as recuperem.
No painel de navegação à esquerda, clique em Queues.
Na página Queues, expanda a lista suspensa vhost, selecione o vhost desejado em Change e clique em Create Queue.
No painel Create Queue, configure os parâmetros abaixo e clique em OK.
Parâmetros da fila
|
Parâmetro |
Obrigatório |
Descrição |
|
Queue Name |
Sim |
Nome da fila. |
|
Auto Delete |
Não |
Exclui automaticamente a fila quando o último consumidor cancela a assinatura. Padrão: No. |
Clique em Dead-letter Policy para configurar parâmetros opcionais:
|
Parâmetro |
Descrição |
|
DeadLetterExchange |
Exchange para o qual as mensagens dead-letter são entregues. |
|
DeadLetterRoutingKey |
Chave de roteamento para mensagens dead-letter. |
|
MessageTTL |
Tempo de vida (TTL) da mensagem em milissegundos. Mensagens não consumidas tornam-se dead letters após a expiração do TTL. Message TTL |
Regras de nomenclatura de filas
1. The queue name supports only letters, digits, hyphens (-), underscores (_), periods (.), pound signs (#), slashes (/), at signs (@), colons (:), commas (,), spaces ( ), and greater-than signs (>). Length: 1–255 characters.
Comprimento: 1 a 255 caracteres.
Não é possível alterar nomes após a criação. Para renomear, exclua e recrie a fila.
amq.é um prefixo reservado. Por exemplo,amq.testnão é permitido.
Etapa 5: Criar um binding
O binding conecta um exchange a uma fila para garantir a entrega das mensagens.
Na página Queues, localize sua fila e clique em Details na coluna Actions.
Na página Queue Details, clique na aba Bound as Destination e, em seguida, clique em Add Binding.
No painel Add Binding, configure os parâmetros Source Exchange e Routing Key. Depois, clique em OK.
Se o exchange de origem for do tipo x-consistent-hash , a chave de roteamento representa o peso da fila. O peso deve ser um número inteiro de 1 a 20.
Próximas etapas
Referências
Você também pode criar recursos chamando operações de API:
CreateInstance: Cria uma instância.
ListInstances: Obtém o endpoint de uma instância.
CreateVirtualHost: Cria um vhost.
CreateExchange: Cria um exchange.
CreateQueue: Cria uma fila.
CreateBinding: Cria um binding.
CreateAccount: Cria um nome de usuário e senha estáticos para uma instância.
Perguntas frequentes
O que fazer se a criação de uma instância do ApsaraMQ for RabbitMQ falhar?
Siga estas etapas de solução de problemas:
Verifique as configurações do grupo de segurança da VPC: Confirme se o grupo de segurança da sua VPC está configurado corretamente. As regras de entrada devem permitir tráfego na porta 5672 (AMQP) e na porta 5671 (AMQPS).
Obtenha informações detalhadas sobre o erro: Abra as ferramentas de desenvolvedor do navegador (pressione F12) e verifique a aba Network para analisar a resposta da API e identificar o código ou mensagem de erro específico retornado pelo servidor.
Permissões de usuário RAM e requisitos de vSwitch: Caso utilize um usuário RAM, confirme se as permissões necessárias foram concedidas. Durante a criação da instância, certifique-se de selecionar pelo menos dois vSwitches. A seleção de menos de dois vSwitches causa falha na criação da instância.