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á.
Configuração do limite de recursos
O Amazon MQ para RabbitMQ suporta a configuração de limites de recursos do agente a partir do RabbitMQ 4. Quando você cria um agente, o Amazon MQ aplica automaticamente valores padrão a esses limites de recursos. Esses padrões atuam como barreiras para proteger a disponibilidade de seu corretor e, ao mesmo tempo, acomodar os padrões comuns de uso do cliente. Você pode personalizar o comportamento do seu agente alterando os valores de configuração limite para melhor atender aos seus requisitos específicos de carga de trabalho. Para obter mais detalhes sobre os valores padrão e máximos permitidos, consulteDiretrizes de dimensionamento do Amazon MQ para RabbitMQ.
Nomes de recursos e chaves de configuração
| Nome do recurso | Chave de configuração |
|---|---|
| Conexão | connection_max |
| Canal | channel_max_per_node |
| Fila | cluster_queue_limit |
| Vhost | vhost_max |
| Shovel | runtime_parameters.limits.shovel |
| Exchange | cluster_exchange_limit |
| Consumidor por canal | consumer_max_per_channel |
| Tamanho máximo de mensagem | max_message_size |
Como substituir os limites de recursos
Você pode substituir os limites de recursos usando a API do Amazon MQ e o console do Amazon MQ.
O exemplo a seguir mostra como substituir o limite padrão de contagem de filas usando: AWS CLI
aws mq update-configuration --configuration-id <config-id> --data "$(echo "cluster_queue_limit=500" | base64 --wrap=0)"
Uma invocação bem-sucedida cria uma revisão de configuração. Você deve associar a configuração ao seu broker RabbitMQ e reinicializar o broker para aplicar a substituição. Para obter mais detalhes, consulte RabbitMQ Broker Configurations
Suporte à seção específica da instância na configuração
Com o RabbitMQ 4, o Amazon MQ oferece suporte a seções nos dados de configuração. As seções permitem que você defina limites de recursos específicos da instância em uma única configuração. Cada seção corresponde a uma combinação específica de tipo de instância e modo de implantação. Quando você associa a configuração a um agente, o Amazon MQ aplica automaticamente a seção correspondente ao tipo de instância e ao modo de implantação do agente.
Importante
O suporte de seção está disponível apenas no RabbitMQ 4. Se você tentar aplicar uma configuração que contenha seções a um broker RabbitMQ 3, a API retornará a. BadRequestException
Sintaxe da seção
As seções são delimitadas por colchetes duplos com o seguinte formato:
{{<host-instance-family>.<size>.<mode>}}
O mode valor indica o modo de implantação:
-
1— Corretor de instância única -
3— Corretor de clusters
Qualquer outro valor de modo é inválido e a API retorna um erro.
O exemplo a seguir mostra dados de configuração com seções para dois tipos diferentes de instância:
connection_max = 1000 {{m7g.large.3}} connection_max = 2000 {{m7g.large.3}} {{m7g.xlarge.3}} connection_max = 4000 {{m7g.xlarge.3}}
Chaves de configuração permitidas nas seções
Somente as seguintes chaves de configuração de limite de recursos são suportadas em uma seção. Adicionar qualquer outra chave de configuração dentro de uma seção resulta em um erro de API.
max_message_sizechannel_max_per_nodeconnection_maxcluster_queue_limitvhost_maxconsumer_max_per_channelruntime_parameters.limits.shovelcluster_exchange_limit
Regras de precedência de seção
Quando uma chave de configuração aparece na seção genérica (nível superior) e na seção específica da instância, o valor que aparece posteriormente nos dados de configuração tem precedência. Por exemplo, a aplicação da seguinte configuração a um agente de m7g.large cluster define connection_max como2000:
connection_max = 1000 {{m7g.large.3}} connection_max = 2000 {{m7g.large.3}}
Invertendo a ordem definida connection_max como1000, porque o valor genérico vem por último:
{{m7g.large.3}} connection_max = 2000 {{m7g.large.3}} connection_max = 1000
nota
Se os dados de configuração não definirem valores para um determinado tipo de instância, o Amazon MQ aplicará os valores padrão.
Exemplos
Os exemplos a seguir mostram como criar uma configuração com seções e associá-la a um broker usando AWS CLI o.
Para atualizar uma configuração com seções
Execute o comando a seguir para atualizar uma configuração com limites de recursos específicos da instância para vários tipos de instância:
aws mq update-configuration \ --configuration-id <config-id> \ --data "$(echo -e "connection_max = 1000\nchannel_max_per_node = 64\n\n{{m7g.large.3}}\nconnection_max = 2000\nchannel_max_per_node = 128\n{{m7g.large.3}}\n\n{{m7g.xlarge.3}}\nconnection_max = 4000\nchannel_max_per_node = 256\n{{m7g.xlarge.3}}" | base64 --wrap=0)"
Essa configuração define os seguintes valores:
-
Padrões genéricos: e
connection_max = 1000channel_max_per_node = 64 -
m7g.largecorretores de cluster:connection_max = 2000echannel_max_per_node = 128 -
m7g.xlargecorretores de cluster:connection_max = 4000echannel_max_per_node = 256
Para associar a configuração a um broker
Depois de atualizar a configuração, associe-a ao seu broker e reinicialize o broker para aplicar as alterações. Execute este comando: .
aws mq update-broker \ --broker-id <broker-id> \ --configuration id=<config-id>,revision=<revision-number>
Erros de substituição do limite de recursos
Associar ou criar um agente com valores de configuração fora do intervalo suportado resulta em uma resposta de erro semelhante à seguinte:
Configuration Revision N for configuration:cluster_queue_limit has limit: of value: 100000000 larger than maximum allowed limit:5000
Para valores padrão e intervalos máximos suportados por tipo de instância e modo de implantação, consulte Limites de recursos padrão Limite máximo de recursos do Amazon MQ para RabbitMQ e.