Como configuro o plugin RabbitMQ Federation no meu agente do Amazon MQ?

Data da última atualização: 22/08/2022

Quero distribuir mensagens de um agente on-premises para um agente do Amazon MQ for RabbitMQ usando o plugin RabbitMQ Federation. Como configuro meu agente do Amazon MQ para RabbitMQ para trabalhar com o plugin RabbitMQ Federation?

Descrição breve

Para configurar o plugin RabbitMQ Federation em um agente do Amazon MQ para RabbitMQ, você deve configurar o seguinte no agente downstream:

  • Um ou mais parâmetros de federação upstream que definem as conexões de federação para filas ou trocas remotas.
  • Uma política RabbitMQ que permite que filas ou trocas remotas específicas se tornem federadas.
  • Uma troca com uma nova fila vinculada a ela para receber mensagens.

Resolução

Observação: o procedimento a seguir requer dois agentes: um agente upstream (no local ou baseado na nuvem) e um agente downstream (o Amazon MQ para o agente RabbitMQ).

Crie um ou mais parâmetros de upstream de federação que definam as conexões de federação para filas ou trocas remotas

1.    Abra o console do Amazon MQ.

2.    No painel de navegação esquerdo, escolha Brokers (Agentes).

3.    Na coluna Name (Nome), escolha o nome do seu agente downstream.

4.    No painel Connections (Conexões), selecione o URL listado abaixo do console da Web RabbitMQ. A página de login do console da Web RabbitMQ para o agente downstream será aberta.

5.    Digite seu Nome de usuário e Senha para o agente. Em seguida, escolha Login para fazer login no console da Web RabbitMQ.

6.    No console da Web RabbitMQ, escolha a guia Admin. Em seguida, no painel de navegação direito, escolha Federation Upstreams (Upstreams de federação).

7.    Escolha Add a new upstream (Adicionar um novo upstream).

8.    Em Name (Nome), insira um nome para o parâmetro upstream.

9.    Para URI, exclua o texto padrão amqp:// e insira o URI do agente upstream no seguinte formato:

amqps://$UPSTREAM_BROKER_USER:$UPSTREAM_BROKER_PASSWORD@$UPSTREAM_BROKER_ENDPOINT:5671

10.    Escolha Add upstream (Adicionar upstream).

Crie uma política RabbitMQ que permita que filas ou trocas remotas específicas se tornem federadas

1.    Abra o console da Web RabbitMQ do agente downstream. Para obter instruções, consulte as etapas de 1 a 5 da seção Para criar um parâmetro federation-upstream usando o console da Web RabbitMQ neste artigo.

2.    Escolha a guia Admin. Em seguida, no painel de navegação direito, escolha Policies (Políticas).

3.    Escolha Add / update a policy (Adicionar/atualizar uma política).

4.    Em Name (Nome), insira um nome para a sua política.

5.    Em Pattern (Padrão), insira uma expressão regular que corresponda às filas ou aos nomes de troca que você deseja permitir que se tornem federados.

6.    Em Apply to, (Aplicar a), selecione Exchanges (Trocas) na lista suspensa.

Observação: a imposição da política às Trocas permite que a política seja imposta apenas às bolsas do agente downstream.

7.    Em Priority (Prioridade), insira o numeral 1.

Observação: a configuração Priority (Prioridade) é usada para determinar qual política deve ser imposta a uma troca ou fila se várias políticas tiverem o mesmo nome. Especificar a configuração Priority (Prioridade) como 1 impede que qualquer política padrão do Amazon MQ que tenha o mesmo nome substitua a política.

8.    Em Definition (Definição), insira federation-upstream-set como a chave na primeira caixa de texto, antes do sinal =. Em seguida, insira all (tudo) como o valor na segunda caixa de texto, à direita do sinal =.

9.    Escolha Add / update policy (Adicionar/atualizar política).

Crie uma troca com uma nova fila vinculada a ela para receber mensagens

1.    Abra o console da Web RabbitMQ do agente downstream. Para obter instruções, consulte as etapas de 1 a 5 da seção Para criar um parâmetro federation-upstream usando o console da Web RabbitMQ neste artigo.

2.    Escolha a guia Queues (Filas).

3.    Em Add a new queue (Adicionar uma nova fila), em Name (Nome), insira um nome para a nova fila que estiver recebendo mensagens.

4.    Escolha Add queue (Adicionar fila).

5.    Escolha a guia Exchanges (Trocas).

6.    Em Add a new exchange (Adicionar uma nova troca), em Name (Nome), insira a expressão regular que corresponde ao nome da troca que você usou ao criar a política RabbitMQ.

7.    Escolha Add exchange (Adicionar troca).

Observação: o RabbitMQ também cria automaticamente uma troca no agente upstream que tiver o mesmo nome.

8.    Escolha a guia Exchanges (Trocas).

9.    Em All exchanges, (Todas as trocas), escolha o nome da nova troca que você criou.

10.    Em Bindings (Vinculações), para Add binding from this exchange (Adicionar uma vinculação desta troca), selecione To queue (Para a fila) na lista suspensa. Em seguida, insira o nome da fila que você criou.

11.    Em Routing key (Chave de roteamento), insira um valor de sua escolha. As mensagens enviadas para a troca no agente upstream usando esse valor também são enviadas para a fila vinculada a essa troca.

12.    Escolha Bind (Vincular).

Para testar a configuração

Envie uma mensagem de teste para a troca de origem do agente upstream

1.    Abra o console da Web RabbitMQ do agente upstream.

Observação: para obter mais informações sobre como acessar o console da Web RabbitMQ, consulte Management plugin (Plugin de gerenciamento) na documentação do RabbitMQ.

2.    Escolha a guia Exchanges (Trocas). Em seguida, selecione o nome da troca de origem.

3.    No painel de navegação esquerdo, escolha Publish message (Publicar mensagem). A seçãoPublish message (Publicar mensagem) é aberta.

4.    Na caixa de texto Routing key (Chave de roteamento), insira a chave-valor do roteamento que você criou.

5.    Na caixa de texto Payload (Carga útil), insira uma mensagem de teste.

Observação: você pode deixar as caixas de texto Headers (Cabeçalhos) e Properties (Propriedades) em branco.

6.    Escolha o botão Publish message (Publicar mensagem). A mensagem de teste é enviada para a troca de origem. Se o parâmetro de federação estiver configurado corretamente, a mensagem também será enviada para a fila de destino do agente downstream.

Verifique se a mensagem de teste é recebida pela fila de destino do agente downstream

1.    Abra o console da Web RabbitMQ do agente downstream.

2.    Escolha a guia Queues (Filas). Em seguida, escolha o nome da fila de destino.

3.    No painel de navegação esquerdo, escolha Get messages (Obter mensagens). A seção Get messages (Obter mensagens) é aberta.

4.    Escolha o botão Get messages (Obter mensagens). Se o parâmetro da federação estiver configurado corretamente, a mensagem de teste que você enviou para a troca de origem aparecerá como o valor da Payload (Carga útil).


Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?