View a markdown version of this page

Configurazione del limite di risorse - Amazon MQ

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione del limite di risorse

Amazon MQ for RabbitMQ supporta la configurazione dei limiti delle risorse del broker a partire da RabbitMQ 4 in poi. Quando crei un broker, Amazon MQ applica automaticamente i valori predefiniti a questi limiti di risorse. Queste impostazioni predefinite fungono da barriera per proteggere la disponibilità dei broker, soddisfacendo al contempo i modelli di utilizzo comuni dei clienti. Puoi personalizzare il comportamento del broker modificando i valori di configurazione dei limiti per soddisfare meglio i requisiti specifici del carico di lavoro. Per ulteriori dettagli sui valori predefiniti e massimi consentiti, consultaLinee guida per il dimensionamento di Amazon MQ for RabbitMQ.

Nomi delle risorse e chiavi di configurazione

Nome risorsa Chiave di configurazione
Connessione connection_max
Canale channel_max_per_node
Queue cluster_queue_limit
Vhost vhost_max
Pala runtime_parameters.limits.shovel
Exchange cluster_exchange_limit
Consumatore per canale consumer_max_per_channel
Dimensione massima del messaggio max_message_size

Come superare i limiti delle risorse

Puoi ignorare i limiti delle risorse utilizzando l'API Amazon MQ e la console Amazon MQ.

L'esempio seguente mostra come sovrascrivere il limite predefinito di conteggio delle code utilizzando: AWS CLI

aws mq update-configuration --configuration-id <config-id> --data "$(echo "cluster_queue_limit=500" | base64 --wrap=0)"

Una chiamata riuscita crea una revisione della configurazione. È necessario associare la configurazione al broker RabbitMQ e riavviare il broker per applicare l'override. Per maggiori dettagli, consulta RabbitMQ Broker Configurations

Supporto della sezione specifica dell'istanza nella configurazione

Con RabbitMQ 4, Amazon MQ supporta sezioni nei dati di configurazione. Le sezioni consentono di definire limiti di risorse specifici dell'istanza all'interno di un'unica configurazione. Ogni sezione corrisponde a una combinazione specifica di tipo di istanza e modalità di distribuzione. Quando associ la configurazione a un broker, Amazon MQ applica automaticamente la sezione di abbinamento per il tipo di istanza e la modalità di distribuzione del broker.

Importante

Il supporto della sezione è disponibile solo su RabbitMQ 4. Se si tenta di applicare una configurazione che contiene sezioni a un broker RabbitMQ 3, l'API restituisce un. BadRequestException

Sintassi della sezione

Le sezioni sono delimitate da doppie parentesi graffe con il seguente formato:

{{<host-instance-family>.<size>.<mode>}}

Il mode valore indica la modalità di distribuzione:

  • 1— Broker a istanza singola

  • 3— Broker di cluster

Qualsiasi altro valore di modalità non è valido e l'API restituisce un errore.

L'esempio seguente mostra i dati di configurazione con sezioni per due diversi tipi di istanza:

connection_max = 1000 {{m7g.large.3}} connection_max = 2000 {{m7g.large.3}} {{m7g.xlarge.3}} connection_max = 4000 {{m7g.xlarge.3}}

Chiavi di configurazione consentite nelle sezioni

All'interno di una sezione sono supportate solo le seguenti chiavi di configurazione per i limiti di risorse. L'aggiunta di qualsiasi altra chiave di configurazione all'interno di una sezione genera un errore API.

  • max_message_size

  • channel_max_per_node

  • connection_max

  • cluster_queue_limit

  • vhost_max

  • consumer_max_per_channel

  • runtime_parameters.limits.shovel

  • cluster_exchange_limit

Regole di precedenza delle sezioni

Quando una chiave di configurazione appare sia nella sezione generica (di primo livello) che in una sezione specifica dell'istanza, il valore che appare più avanti nei dati di configurazione ha la precedenza. Ad esempio, l'applicazione della seguente configurazione a un m7g.large broker di cluster imposta su: connection_max 2000

connection_max = 1000 {{m7g.large.3}} connection_max = 2000 {{m7g.large.3}}

L'inversione dell'ordine viene impostata connection_max su1000, poiché il valore generico arriva per ultimo:

{{m7g.large.3}} connection_max = 2000 {{m7g.large.3}} connection_max = 1000
Nota

Se i dati di configurazione non definiscono valori per un particolare tipo di istanza, Amazon MQ applica i valori predefiniti.

Esempi

Gli esempi seguenti mostrano come creare una configurazione con sezioni e associarla a un broker utilizzando il AWS CLI.

Per aggiornare una configurazione con sezioni

Esegui il comando seguente per aggiornare una configurazione con limiti di risorse specifici dell'istanza per più tipi di istanze:

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)"

Questa configurazione definisce i seguenti valori:

  • Impostazioni predefinite generiche: e connection_max = 1000 channel_max_per_node = 64

  • m7g.largebroker di cluster: e connection_max = 2000 channel_max_per_node = 128

  • m7g.xlargebroker di cluster: e connection_max = 4000 channel_max_per_node = 256

Per associare la configurazione a un broker

Dopo aver aggiornato la configurazione, associala al broker e riavvia il broker per applicare le modifiche. Esegui il comando seguente:

aws mq update-broker \ --broker-id <broker-id> \ --configuration id=<config-id>,revision=<revision-number>

Il limite di risorse sostituisce gli errori

L'associazione o la creazione di un broker con valori di configurazione al di fuori dell'intervallo supportato genera una risposta di errore simile alla seguente:

Configuration Revision N for configuration:cluster_queue_limit has limit: of value: 100000000 larger than maximum allowed limit:5000

Per i valori predefiniti e gli intervalli massimi supportati per tipo di istanza e modalità di distribuzione, consulta Limiti di risorse predefiniti eLimite massimo di risorse Amazon MQ per RabbitMQ.