Rede de agentes do Amazon MQ - Amazon MQ

Rede de agentes do Amazon MQ

O Amazon MQ é compatível com o recurso da rede de agentes do ActiveMQ.

A rede de agentes é composta por vários agentes ativos simultaneamente, agentes de instância única ou agentes ativos/em espera. Criar uma rede de agentes pode aumentar a disponibilidade, a tolerância a falhas e o balanceamento de carga com várias instâncias de agentes.

Como funciona uma rede de agentes?

Uma rede de agentes é estabelecida por meio da conexão de um agente com outro usando-se os conectores de rede. Um conector de rede fornece mensagens sob demanda de um agente para outro. Os conectores de rede são configurados na configuração do agente como conexões non-duplex ou duplex. Para conexões não duplex, as mensagens são encaminhadas apenas de um agente para o outro. Para conexões duplex, as mensagens são encaminhadas nos dois sentidos entre os dois agentes.

Se o conector de rede for configurado como duplex, as mensagens também serão encaminhadas do Broker2 para o Broker1.

Você pode usar conexões não duplex e duplex em uma rede de agentes. Talvez você queira introduzir uma conexão duplex com outro agente para melhorar o tráfego ou evitar um aumento de limite. As conexões duplex também são úteis para a migração parcial de agentes gerenciados on-premises para o Amazon MQ.

Como uma rede de agentes lida com as credenciais?

Para o agente A se conectar ao agente B em uma rede, o agente A deve usar credenciais válidas, como qualquer outro produtor ou consumidor. Em vez de fornecer uma senha em uma configuração do <networkConnector> do agente A, você deve primeiro criar um usuário no agente A com os mesmos valores como outro usuário no agente B (esses são usuários separados e exclusivos que compartilham os mesmos valores de nome de usuário e senha). Quando você especifica o atributo userName na configuração do <networkConnector>, o Amazon MQ adicionará a senha automaticamente no tempo de execução.

Importante

Não especifique o atributo password para o <networkConnector>. Não recomendamos armazenar senhas em texto simples nos arquivos de configuração do agente, porque isso torna as senhas visíveis no console do Amazon MQ. Para obter mais informações, consulte Configure Network Connectors for Your Broker.

Dentro da região

Para configurar uma rede de agentes que abrange as regiões do AWS, implante os agentes nessas regiões e configure os conectores de rede para os endpoints desses agentes.

Topologia de malha inter-regiões

Para configurar uma rede de agentes, como nesse exemplo, você pode adicionar entradas do networkConnectors para as configurações do Broker1 e do Broker4 que fazem referência a endpoints de nível de conexão desses agentes.

Conectores de rede para o Broker1:

<networkConnectors> <networkConnector name="1_to_2" userName="myCommonUser" duplex="true" uri="static:(ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-west-2.amazonaws.com:61617)"/> <networkConnector name="1_to_3" userName="myCommonUser" duplex="true" uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="1_to_4" userName="myCommonUser" duplex="true" uri="static:(ssl://b-62a7fb31-d51c-466a-a873-905cd660b553-4.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Conector de rede para o Broker2:

<networkConnectors> <networkConnector name="2_to_3" userName="myCommonUser" duplex="true" uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/> </networkConnectors>

Conectores de rede para o Broker4:

<networkConnectors> <networkConnector name="4_to_3" userName="myCommonUser" duplex="true" uri="static:(ssl://b-743c885d-2244-4c95-af67-a85017ff234e-3.mq.us-east-2.amazonaws.com:61617)"/> <networkConnector name="4_to_2" userName="myCommonUser" duplex="true" uri="static:(ssl://b-9876l5k4-32ji-109h-8gfe-7d65c4b132a1-2.mq.us-west-2.amazonaws.com:61617)"/> </networkConnectors>

Failover dinâmico com conectores de transporte

Além de configurar elementos networkConnector, você pode configurar as opções transportConnector do agente para habilitar o failover dinâmico e para rebalancear as conexões quando os agentes são adicionados ou removidos da rede.

<transportConnectors> <transportConnector name="openwire" updateClusterClients="true" rebalanceClusterClients="true" updateClusterClientsOnRemove="true"/> </transportConnectors>

Nesse exemplo, tanto updateClusterClients como rebalanceClusterClients estão definidos como true. Nesse caso, os clientes receberão uma lista de agentes da rede e solicitarão que eles façam um rebalanceamento se um novo agente ingressar.

Opções disponíveis:

  • updateClusterClients: transmite informações aos clientes sobre alterações na rede de topologia do agente.

  • rebalanceClusterClients: faz com que os clientes realizem um rebalanceamento em todos os agentes quando um agente novo é adicionado a uma rede de agentes.

  • updateClusterClientsOnRemove: atualiza os clientes com informações sobre topologia quando um agente sai de uma rede de agentes.

Quando updateClusterClients é definido como true (verdadeiro), os clientes podem ser configurados para se conectarem a um único agente em uma rede de agentes.

failover:(ssl://b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9-1.mq.us-east-2.amazonaws.com:61617)

Quando um novo agente é conectado, ele receberá uma lista de URIs de todos os agentes na rede. Se a conexão com o agente falhar, ela poderá trocar de maneira dinâmica para um dos agentes fornecidos no momento da conexão.

Para obter mais informações sobre failover, consulte Opções do lado do agente para failover na documentação do ActiveMQ.