Plugins - Amazon MQ

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Plugins

O Amazon MQ para RabbitMQ também oferece suporte aos seguintes plug-ins.

Plugin de gerenciamento RabbitMQ

O Amazon MQ para RabbitMQ oferece suporte ao plug-in de gerenciamento RabbitMQ, que fornece uma API de gerenciamento baseada em HTTP junto com uma interface de usuário baseada em navegador para o console web do RabbitMQ. Você pode usar o console da Web e a API de gerenciamento para criar e gerenciar usuários e políticas do agente.

Plugin shovel

O Amazon MQ para RabbitMQ oferece suporte ao plug-in shovel RabbitMQ, que permite mover mensagens de filas e trocas de uma corretora para outra. Você pode usar o shovel para conectar agentes de baixo acoplamento e distribuir mensagens longe dos nós com cargas de mensagens mais pesadas.

Importante

Você não pode configurar shovels entre filas ou trocas se o destino do shovel for um agente privado.

O Amazon MQ não é compatível com o uso de shovels estáticas.

Somente escavadeiras dinâmicas são suportadas. As escavadeiras dinâmicas são configuradas usando parâmetros de tempo de execução e podem ser iniciadas e interrompidas a qualquer momento programaticamente por uma conexão do cliente. Por exemplo, usando a API de gerenciamento do RabbitMQ, você pode criar uma solicitação PUT para o seguinte endpoint da API para configurar uma escavadeira dinâmica. No exemplo, {vhost} pode ser substituído pelo nome do vhost do corretor e {name} substituído pelo nome da nova escavadeira dinâmica.

/api/parameters/shovel/{vhost}/{name}

No corpo da solicitação, você deve especificar uma fila ou uma troca, mas não ambos. O exemplo abaixo configura uma escavadeira dinâmica entre uma fila local especificada em src-queue e uma fila remota definida em dest-queue. Da mesma forma, você pode usar os parâmetros src-exchange e dest-exchange para configurar uma escavadeira entre duas trocas.

{ "value": { "src-protocol": "amqp091", "src-uri": "amqp://localhost", "src-queue": "source-queue-name", "dest-protocol": "amqp091", "dest-uri": "amqps://b-c8352341-ec91-4a78-ad9c-a43f23d325bb.mq.us-west2.amazonaws.com:5671", "dest-queue": "destination-queue-name" } }

Plugin de federação

O Amazon MQ oferece suporte a trocas e filas federadas usando o plug-in de federação RabbitMQ. Com a federação, você pode replicar o fluxo de mensagens entre filas, trocas e consumidores em agentes separados. Filas e trocas federadas usam point-to-point links para se conectar a colegas em outras corretoras. Enquanto as trocas federadas, por padrão, roteiam mensagens uma vez, as filas federadas podem mover mensagens várias vezes conforme necessário pelos consumidores.

Você pode usar federação para permitir que um agente downstream consuma uma mensagem de uma troca ou de uma fila em um upstream. Você pode habilitar a federação em agentes downstream usando o console da Web do RabbitMQ ou a API de gerenciamento.

Importante

Não será possível configurar a federação se a fila ou troca de upstream estiver em um agente privado. Só será possível configurar a federação entre filas ou trocas em agentes públicos ou entre uma fila ou troca de upstream em um agente público e uma fila ou troca de downstream em um agente privado.

Por exemplo, usando a API de gerenciamento, você pode configurar a federação fazendo o seguinte:

  • Configure um ou mais upstreams que definem conexões de federação com outros nós. Você pode definir conexões de federação usando o console da Web do RabbitMQ ou a API de gerenciamento. Usando a API de gerenciamento, você pode criar uma solicitação POST para/api/parameters/federation-upstream/%2f/myupstreamcom o corpo da solicitação a seguir.

    {"value":{"uri":"amqp://server-name","expires":3600000}}
  • Configure uma política para permitir que suas filas ou trocas se tornem federadas. Você pode configurar políticas usando o console da Web do RabbitMQ ou a API de gerenciamento. Usando a API de gerenciamento, você pode criar uma solicitação POST para/api/policies/%2f/federate-me com o corpo da solicitação a seguir.

    {"pattern":"^amq\.", "definition":{"federation-upstream-set":"all"}, "apply-to":"exchanges"}
    nota

    O corpo da solicitação pressupõe que as trocas no servidor sejam nomeadas começando com amq. Usar a expressão regular ^amq\. garantirá que a federação seja habilitada para todas as trocas cujos nomes comecem com “amq”. As trocas no seu servidor RabbitMQ podem ser nomeadas de forma diferente.

Plugin de troca de hash consistente

O Amazon MQ para RabbitMQ oferece suporte ao plug-in RabbitMQ Consistent Hash Exchange Type. As trocas de hash consistentes fazem o roteamento de mensagens para filas com base em um valor de hash calculado a partir da routing key (chave de roteamento) de uma mensagem. Considerando uma chave de roteamento razoavelmente uniforme, as trocas de Hash consistentes podem distribuir mensagens entre filas de maneira razoavelmente uniforme.

Para filas vinculadas a uma troca de hash consistente, a chave de vinculação determina number-as-a-string o peso de vinculação de cada fila. As filas com um peso de vinculação maior receberão uma distribuição proporcionalmente maior de mensagens da troca de hash consistente à qual estão vinculadas. Em uma topologia de troca de hash consistente, os editores podem simplesmente publicar mensagens no Exchange, mas os consumidores devem ser explicitamente configurados para consumir mensagens de filas específicas.

OAuth plug-in 2.0

O Amazon MQ para RabbitMQ oferece suporte ao plug-in de back-end de autenticação 2OAuth . Esse plug-in é ativado condicionalmente com base na configuração do seu corretor. Quando ativado, esse plug-in fornece autenticação e autorização OAuth 2.0 com integração com provedores de identidade OAuth 2.0 externos para gerenciamento centralizado de usuários e controle de acesso. Para obter mais informações sobre a autenticação OAuth 2.0, consulteOAuth Autenticação e autorização 2.0.

Plug-in LDAP

O Amazon MQ para RabbitMQ oferece suporte ao plug-in de back-end de autenticação LDAP. Esse plug-in é ativado condicionalmente com base na configuração do seu corretor. Quando ativado, esse plug-in fornece autenticação e autorização LDAP com integração com serviços de diretório LDAP externos para autenticação e autorização centralizadas do usuário. Para obter mais informações sobre a autenticação LDAP, consulte. Autenticação e autorização LDAP

Plug-in HTTP

O Amazon MQ para RabbitMQ oferece suporte ao plug-in de back-end de autenticação HTTP. Esse plug-in é ativado condicionalmente com base na configuração do seu corretor. Quando ativado, esse plug-in fornece autenticação e autorização HTTP com integração com servidores HTTP externos para autenticação e autorização centralizadas do usuário. Para obter mais informações sobre autenticação HTTP, consulteAutenticação e autorização HTTP.

nota

O plug-in de autenticação HTTP está disponível somente para o Amazon MQ for RabbitMQ versão 4 e superior.

Plugin de certificado SSL

O Amazon MQ oferece suporte a TLS mútuo (mTLS) para corretores RabbitMQ. O plug-in de autenticação SSL usa certificados de cliente de conexões mTLS para autenticar usuários. Esse plug-in é ativado condicionalmente com base na configuração do seu corretor. Quando ativado, ele fornece autenticação baseada em certificado usando certificados de cliente X.509 para autenticação forte sem transmitir credenciais pela rede. Para obter mais informações sobre a autenticação do certificado SSL, consulteAutenticação de certificado SSL.

nota

O plug-in de autenticação de certificado SSL está disponível somente para o Amazon MQ for RabbitMQ versão 4 e superior.

plugin aws

O plug-in aws é habilitado condicionalmente pelo Amazon MQ para RabbitMQ com base na configuração do seu agente. Esse plug-in comunitário, desenvolvido e mantido pela Amazon MQ, fornece recuperação segura de credenciais e certificados de AWS serviços usados AWS ARNs nas configurações do RabbitMQ. Para obter mais informações sobre o suporte ao ARN, consulte. ARN support in RabbitMQ configuration