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à.
Impostazioni predefinite del broker Amazon MQ per RabbitMQ
Quando crei un broker Amazon MQ per RabbitMQ, Amazon MQ applica un insieme predefinito di policy del broker e limiti vhost per ottimizzare le prestazioni del tuo broker. Amazon MQ applica limiti vhost solo al valore predefinito (/
) vhost. Amazon MQ non applicherà policy predefinite ai nuovi vhost creati. Si consiglia di mantenere questi valori predefiniti per tutti i broker nuovi ed esistenti. Tuttavia, è possibile modificare, sostituire o eliminare tali valori predefiniti in qualsiasi momento.
Amazon MQ crea criteri e limiti in base al tipo di istanza e alla modalità di implementazione del broker scelti al momento della creazione del broker. Le policy predefinite sono denominate in base alla modalità di implementazione, come indicato di seguito:
-
A istanza singola:
AWS-DEFAULT-POLICY-SINGLE-INSTANCE
-
Implementazione cluster:
AWS-DEFAULT-POLICY-CLUSTER-MULTI-AZ
Per broker a istanza singola, Amazon MQ imposta il valore di priorità della policy su 0
. Per ignorare il valore di priorità predefinito, è possibile creare policy personalizzate con valori di priorità più elevati. Per implementazioni cluster, Amazon MQ imposta il valore di priorità su 1
per le impostazioni predefinite del broker. Per creare policy personalizzate per i cluster, assegnare un valore di priorità superiore a 1
.
Nota
Nelle implementazioni cluster, le policy del broker ha-mode
e ha-sync-mode
sono necessarie per il mirroring classico e la disponibilità elevata.
Se si elimina la policy predefinita AWS-DEFAULT-POLICY-CLUSTER-MULTI-AZ
, Amazon MQ utilizza la policy ha-all-AWS-OWNED-DO-NOT-DELETE
con un valore prioritario di 0
. Ciò assicura che le policy ha-mode
e ha-sync-mode
siano ancora in vigore. Se crei una policy personalizzata, Amazon MQ aggiunge automaticamente ha-mode
e ha-sync-mode
alle definizioni della policy.
Descrizioni di policy e limiti
L'elenco seguente descrive le policy e i limiti predefiniti che Amazon MQ applica a un broker appena creato. I valori per max-length
, max-queues
e max-connections
variano in base al tipo di istanza e alla modalità di implementazione del broker. Questi valori sono elencati nella sezione Valori predefiniti consigliati.
-
queue-mode: lazy
(policy): abilita le code lente. Per impostazione predefinita, le code mantengono una cache in memoria dei messaggi, consentendo al broker di recapitare i messaggi ai consumatori il più rapidamente possibile. Ciò può portare l'esaurimento della memoria del broker e l'attivazione di un allarme per il consumo elevato di memoria. Le code lente tentano di spostare i messaggi sul disco non appena risulta fattibile. Ciò implica una conservazione in memoria di un minor numero di messaggi in normali condizioni operative. Utilizzando le code lente, Amazon MQ per RabbitMQ può supportare carichi di messaggistica notevolmente maggiori e code più lunghe. Si noti che per alcuni casi d'uso, i broker con code lente potrebbero risultare leggermente più lenti. Questo perché i messaggi vengono spostati da un disco a un broker, anziché recapitare i messaggi da una cache in memoria.Modalità di implementazione
A singola istanza, cluster
-
max-length:
(policy): imposta un limite per il numero di messaggi in una coda. Nelle implementazioni cluster, il limite impedisce la sincronizzazione delle code in pausa in casi quali il riavvio del broker o dopo una finestra di manutenzione.number-of-messages
Modalità di implementazione
Cluster
-
overflow: reject-publish
(policy): applica le code con una policymax-length
per rifiutare nuovi messaggi dopo che il numero di messaggi nella coda raggiunge il valoremax-length
. Per evitare la perdita di messaggi se una coda è in uno stato di overflow, le applicazioni client che pubblicano messaggi nel broker devono implementare la conferma del mittente. Per ulteriori informazioni sull'implementazione delle conferme del mittente, consultare Conferma del mittentesul sito Web RabbitMQ. Modalità di implementazione
Cluster
-
max-queues:
(limite vhost): imposta il limite per il numero di code in un broker. Come per la definizione della policynumber-of-queues-per-vhost
max-length
, limitando il numero di code nelle implementazioni cluster si impedisce la sincronizzazione delle code in pausa dopo il riavvio del broker o le finestre di manutenzione. La limitazione delle code impedisce inoltre una quantità eccessiva di CPU utilizzo per la manutenzione delle code.Modalità di implementazione
A singola istanza, cluster
-
max-connections:
(limite vhost): imposta il limite per il numero di connessioni client al broker. Limitare il numero di connessioni in base ai valori consigliati impedisce un utilizzo eccessivo della memoria del broker, che potrebbe comportare l'attivazione di un allarme di memoria elevata e la sospensione delle operazioni.number-of-connections-per-vhost
Modalità di implementazione
A singola istanza, cluster
Valori predefiniti consigliati
Nota
I limiti predefiniti max-length
e max-queue
vengono testati e valutati in base a una dimensione media del messaggio di 5 kB. Se i messaggi sono significativamente maggiori di 5 kB, sarà necessario regolare e ridurre i limiti max-length
e max-queue
.
Nella tabella seguente sono elencati i valori limite predefiniti per un broker appena creato. Amazon MQ applica questi valori in base al tipo di istanza e alla modalità di implementazione del broker.
Tipo di istanza | Deployment mode (Modalità distribuzione) | max-length |
max-queues |
max-connections |
---|---|---|---|---|
t3.micro | A istanza singola | N/D | 500 | 500 |
m5.large | A istanza singola | N/D | 20.000 | 4.000 |
Cluster | 8.000.000 | 4.000 | 15.000 | |
m5.xlarge | A istanza singola | N/D | 30.000 | 8.000 |
Cluster | 9.000.000 | 5.000 | 20.000 | |
m5.2xlarge | A istanza singola | N/D | 60.000 | 15.000 |
Cluster | 10.000.000 | 6.000 | 40.000 | |
m5.4xlarge | A istanza singola | N/D | 150.000 | 30.000 |
Cluster | 12.000.000 | 10.000 | 100.000 |