Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configuración de límite de recursos
Amazon MQ para RabbitMQ admite la configuración de los límites de recursos de los corredores a partir de RabbitMQ 4. Al crear un intermediario, Amazon MQ aplica automáticamente los valores predeterminados a estos límites de recursos. Estos valores predeterminados actúan como barreras para proteger la disponibilidad de su agente y, al mismo tiempo, adaptarse a los patrones de uso habituales de los clientes. Puede personalizar el comportamiento de su corredor cambiando los valores límite de configuración para que se adapten mejor a sus requisitos específicos de carga de trabajo. Para obtener más información sobre los valores predeterminados y máximos permitidos, consulteDirectrices de dimensionamiento de Amazon MQ para RabbitMQ.
Nombres de recursos y claves de configuración
| Nombre del recurso | Clave de configuración |
|---|---|
| Connection | connection_max |
| Canal | channel_max_per_node |
| Cola | cluster_queue_limit |
| Vhost | vhost_max |
| Pala | runtime_parameters.limits.shovel |
| Exchange | cluster_exchange_limit |
| Consumidor por canal | consumer_max_per_channel |
| Tamaño máximo de mensaje | max_message_size |
¿Cómo anular los límites de recursos
Puede anular los límites de recursos mediante la API de Amazon MQ y la consola Amazon MQ.
El siguiente ejemplo muestra cómo anular el límite predeterminado del recuento de colas mediante: AWS CLI
aws mq update-configuration --configuration-id <config-id> --data "$(echo "cluster_queue_limit=500" | base64 --wrap=0)"
Una invocación correcta crea una revisión de la configuración. Debe asociar la configuración a su corredor RabbitMQ y reiniciar el corredor para aplicar la anulación. Para obtener más información, consulte RabbitMQ Broker Configurations
Soporte de la sección específica de la instancia en la configuración
Con RabbitMQ 4, Amazon MQ admite secciones en los datos de configuración. Las secciones le permiten definir los límites de recursos específicos de la instancia dentro de una única configuración. Cada sección corresponde a una combinación específica de tipo de instancia y modo de implementación. Al asociar la configuración a un agente, Amazon MQ aplica automáticamente la sección correspondiente al tipo de instancia y al modo de despliegue del agente.
importante
El soporte de secciones solo está disponible en RabbitMQ 4. Si intenta aplicar una configuración que contiene secciones a un corredor de RabbitMQ 3, la API devuelve un. BadRequestException
Sintaxis de sección
Las secciones se delimitan mediante dobles corchetes con el siguiente formato:
{{<host-instance-family>.<size>.<mode>}}
El mode valor indica el modo de despliegue:
-
1— Broker de instancia única -
3— Broker de clústeres
Cualquier otro valor de modo no es válido y la API devuelve un error.
En el siguiente ejemplo, se muestran los datos de configuración con secciones para dos tipos de instancias diferentes:
connection_max = 1000 {{m7g.large.3}} connection_max = 2000 {{m7g.large.3}} {{m7g.xlarge.3}} connection_max = 4000 {{m7g.xlarge.3}}
Claves de configuración permitidas en las secciones
Solo se admiten las siguientes claves de configuración de límites de recursos dentro de una sección. Si se añade cualquier otra clave de configuración dentro de una sección, se produce un error de API.
max_message_sizechannel_max_per_nodeconnection_maxcluster_queue_limitvhost_maxconsumer_max_per_channelruntime_parameters.limits.shovelcluster_exchange_limit
Reglas de prioridad de sección
Cuando una clave de configuración aparece tanto en la sección genérica (de nivel superior) como en la sección específica de la instancia, prevalece el valor que aparece más adelante en los datos de configuración. Por ejemplo, aplicar la siguiente configuración a un m7g.large agente de clústeres establece lo siguiente: connection_max 2000
connection_max = 1000 {{m7g.large.3}} connection_max = 2000 {{m7g.large.3}}
Al invertir el orden, se establece connection_max en1000, porque el valor genérico es el último:
{{m7g.large.3}} connection_max = 2000 {{m7g.large.3}} connection_max = 1000
nota
Si los datos de configuración no definen valores para un tipo de instancia concreto, Amazon MQ aplica los valores predeterminados.
Ejemplos
Los siguientes ejemplos muestran cómo crear una configuración con secciones y asociarla a un agente mediante el AWS CLI.
Para actualizar una configuración con secciones
Ejecuta el siguiente comando para actualizar una configuración con límites de recursos específicos de la instancia para varios tipos de instancias:
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)"
Esta configuración define los siguientes valores:
-
Valores predeterminados genéricos:
connection_max = 1000ychannel_max_per_node = 64 -
m7g.largecorredores de clústeres:connection_max = 2000ychannel_max_per_node = 128 -
m7g.xlargecorredores de clústeres:connection_max = 4000ychannel_max_per_node = 256
Para asociar la configuración a un intermediario
Tras actualizar la configuración, asóciela a su agente y reinícielo para aplicar los cambios. Use el siguiente comando:
aws mq update-broker \ --broker-id <broker-id> \ --configuration id=<config-id>,revision=<revision-number>
Errores de anulación del límite de recursos
Al asociar o crear un corredor con valores de configuración fuera del rango admitido, se produce una respuesta de error similar a la siguiente:
Configuration Revision N for configuration:cluster_queue_limit has limit: of value: 100000000 larger than maximum allowed limit:5000
Para ver los valores predeterminados y los rangos máximos admitidos por tipo de instancia y modo de implementación, consulte Límites de recursos predeterminados yLímite máximo de recursos de Amazon MQ para RabbitMQ.