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_sizechannel_max_per_nodeconnection_maxcluster_queue_limitvhost_maxconsumer_max_per_channelruntime_parameters.limits.shovelcluster_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 = 1000channel_max_per_node = 64 -
m7g.largebroker di cluster: econnection_max = 2000channel_max_per_node = 128 -
m7g.xlargebroker di cluster: econnection_max = 4000channel_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.