Impostazioni predefinite del broker Amazon MQ per RabbitMQ - 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à.

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: number-of-messages (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.

    Modalità di implementazione

    Cluster

  • overflow: reject-publish (policy): applica le code con una policy max-length per rifiutare nuovi messaggi dopo che il numero di messaggi nella coda raggiunge il valore max-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 mittente sul sito Web RabbitMQ.

    Modalità di implementazione

    Cluster

  • max-queues: number-of-queues-per-vhost (limite vhost): imposta il limite per il numero di code in un broker. Come per la definizione della policy 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: number-of-connections-per-vhost (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.

    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