Padrões de agentes do Amazon MQ for RabbitMQ - 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á.

Padrões de agentes do Amazon MQ for RabbitMQ

Quando você cria um Amazon MQ para agente RabbitMQ, o Amazon MQ aplica um conjunto padrão de políticas de agente e limites de vhost para otimizar a performance do seu agente. O Amazon MQ aplica limites de vhost somente ao vhost padrão (/). O Amazon MQ não aplicará políticas padrão a vhosts recém-criados. Recomendamos manter esses padrões para todos os agentes novos e existentes. No entanto, você pode modificar, substituir ou excluir esses padrões a qualquer momento.

O Amazon MQ cria políticas e limites com base no tipo de instância e no modo de implantação do agente que você escolhe ao criar seu agente. As políticas padrão são nomeadas de acordo com o modo de implantação, da seguinte maneira:

  • Instância únicaAWS-DEFAULT-POLICY-SINGLE-INSTANCE

  • Implantação de clusterAWS-DEFAULT-POLICY-CLUSTER-MULTI-AZ

Para os agentes de instância única, o Amazon MQ define o valor de prioridade da política como 0. Para substituir o valor de prioridade padrão, você pode criar suas próprias políticas personalizadas com valores de prioridade mais altos. Para implantações de cluster, o Amazon MQ define o valor de prioridade como 1 para padrões do agente. Para criar sua própria política personalizada para clusters, atribua um valor de prioridade maior que 1.

nota

Em implantações de cluster, as políticas de agente ha-mode e ha-sync-mode são necessárias para espelhamento clássico e alta disponibilidade (HA).

Se você exclui a política padrão AWS-DEFAULT-POLICY-CLUSTER-MULTI-AZ, o Amazon MQ usa a política ha-all-AWS-OWNED-DO-NOT-DELETE com um valor de prioridade 0. Isso garante que as políticas ha-mode e ha-sync-mode necessárias ainda estejam em vigor. Se você criar sua própria política personalizada, o Amazon MQ anexará automaticamente o ha-mode e ha-sync-mode nas suas definições de política.

Descrições de políticas e limites

A lista a seguir descreve as políticas e limites padrão que o Amazon MQ aplica a um agente recém-criado. Os valores para max-length, max-queues e max-connections variam de acordo com o tipo de instância e o modo de implantação do seu agente. Esses valores estão listados na seção Valores padrão recomendados.

  • queue-mode: lazy (política) — Habilita filas lentas. Por padrão, as filas mantêm um cache na memória de mensagens, permitindo que o agente entregue mensagens aos consumidores o mais rápido possível. Isso pode fazer o agente ficar sem memória e acionar um alarme de alta memória. As filas lentas tentam mover as mensagens para o disco o mais cedo possível. Isso significa que menos mensagens são mantidas na memória em condições normais de operação. Usando filas lentas, o Amazon MQ para RabbitMQ pode ser compatível com sistemas de mensagens muito maiores e filas mais longas. Observe que, para determinados casos de uso, os agentes com filas lentas podem ter uma performance ligeiramente mais lenta. Isso ocorre porque as mensagens são movidas do disco para o agente, em vez de entregar mensagens de um cache na memória.

    Modos de implantação

    Instância única, cluster

  • max-length: number-of-messages (política) — Define um limite para o número de mensagens em uma fila. Em implantações de cluster, o limite impede a sincronização de fila pausada em casos como reinicializações de agente ou após uma janela de manutenção.

    Modos de implantação

    Cluster

  • overflow: reject-publish (política) — Impõe filas com uma política max-length para rejeitar novas mensagens depois do número de mensagens na fila atingir o valor max-length. Para garantir que as mensagens não sejam perdidas se uma fila estiver em um estado sobrecarregado, as aplicações dos clientes que publicam mensagens no agente devem implementar a confirmação do editor. Para obter informações sobre como implementar a confirmação do editor, consulte Confirmações do editor no site do RabbitMQ.

    Modos de implantação

    Cluster

  • max-queues: number-of-queues-per-vhost (limite de vhost) — Define o limite para o número de filas em um agente. Similar à definição de política max-length, limitar o número de filas em implantações de cluster impede a sincronização de filas pausada após reinicializações de agente ou janelas de manutenção. Limitar as filas também evita o CPU uso excessivo da manutenção de filas.

    Modos de implantação

    Instância única, cluster

  • max-connections: number-of-connections-per-vhost (limite de vhost) — Define o limite para o número de conexões de cliente com o agente. Limitar o número de conexões de acordo com os valores recomendados impede o uso excessivo de memória pelo agente o que poderia resultar na sinalização de um alarme de alto uso de memória e na interrupção das operações.

    Modos de implantação

    Instância única, cluster

Valores padrão recomendados

nota

Os limites padrão max-length e max-queue são testados e avaliados com base em um tamanho médio de mensagem de 5 kB. Se as suas mensagens forem significativamente maiores do que 5 kB, você precisará ajustar e reduzir os limites max-length e max-queue.

A tabela a seguir lista os valores de limite padrão para um agente recém-criado. O Amazon MQ aplica esses valores de acordo com o tipo de instância e o modo de implantação do agente.

Tipo de instância Modo de implantação max-length max-queues max-connections
t3.micro Instância única N/D 500 500
m5.large Instância única N/D 20.000 4.000
Cluster 8.000.000 4.000 15.000
m5.xlarge Instância única N/D 30.000 8.000
Cluster 9.000.000 5.000 20.000
m5.2xlarge Instância única N/D 60.000 15.000
Cluster 10,000,000 6.000 40.000
m5.4xlarge Instância única N/D 150.000 30.000
Cluster 12.000.000 10.000 100.000