Linee guida per il dimensionamento di Amazon MQ for 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à.

Linee guida per il dimensionamento di Amazon MQ for RabbitMQ

Puoi scegliere il tipo di istanza del broker che meglio supporta la tua applicazione. Quando si sceglie un tipo di istanza, è importante considerare i fattori che influiranno sulle prestazioni del broker:

  • il numero di client e di code

  • il volume dei messaggi inviati

  • messaggi conservati in memoria

  • messaggi ridondanti

I tipi di istanze di broker più piccoli (t3.micro) sono consigliati solo per testare le prestazioni delle applicazioni. Consigliamo tipi di istanze broker più grandi (m5.largee superiori) per livelli di produzione di client e code, throughput elevato, messaggi in memoria e messaggi ridondanti.

È importante testare i broker per determinare il tipo e la dimensione dell'istanza appropriati per i requisiti di messaggistica del carico di lavoro. Utilizza le seguenti linee guida sul dimensionamento per determinare il tipo di istanza più appropriato per la tua applicazione.

Linee guida per il dimensionamento per la distribuzione a singola istanza

La tabella seguente mostra i valori limite massimi per ogni tipo di istanza per i broker a istanza singola.

Tipo di istanza Connessioni Canali Queues Consumatori per canale Pale
t3.micro 500 1.500 2.500 1.000 150
m5.large 5.000 15.000 30.000 1.000 250
m5.xlarge 10.000 30.000 60.000 1.000 500
m5.2xlarge 20.000 60.000 120.000 1.000 1.000
m5.4xlarge 40.000 120.000 240.000 1.000 2.000

Linee guida per il dimensionamento per l'implementazione dei cluster

La tabella seguente mostra i valori limite massimi per ogni tipo di istanza per i broker di cluster.

Tipo di istanza Connessioni Canali Queues Consumatori per canale Pale
m5.large 15.000 45.000 10.000 1.000 150
m5.xlarge 30.000 90.000 15.000 1.000 300
m5.2xlarge 60.000 180.000 20.000 1.000 600
m5.4xlarge 120.000 360.000 30.000 1.000 1200

I limiti di connessione, canale e pala vengono applicati per nodo. I valori limite esatti per un broker di cluster possono essere inferiori al valore indicato a seconda del numero di nodi disponibili e del modo in cui RabbitMQ distribuisce le risorse tra i nodi disponibili.

Messaggi di errore

I seguenti messaggi di errore vengono restituiti quando vengono superati i limiti. Tutti i valori si basano sui limiti delle m5.large singole istanze.

Nota

I codici di errore per i seguenti messaggi possono cambiare in base alla libreria client utilizzata.

Connessione

ConnectionClosedByBroker 500 "NOT_ALLOWED - connection refused: node connection limit (500) is reached"

Canale

ConnectionClosedByBroker 1500 "NOT_ALLOWED - number of channels opened on node 'rabbit@ip-10-0-23-173.us-west-2.compute.internal' has reached the maximum allowed limit of (15,000)"

Consumatore

ConnectionClosedByBroker: (530, 'NOT_ALLOWED - reached maximum (1,000) of consumers per channel')

Nota

I seguenti messaggi di errore utilizzano il API formato HTTP di gestione.

Coda

{"error":"bad_request","reason":"cannot declare queue 'my_queue': queue limit in cluster (30,000) is reached"}]

Pala

{"error":"bad_request","reason":"Validation failed\n\ncomponent shovel is limited to 250 per node\n"}

Fantasma

{"error":"bad_request","reason":"cannot create vhost 'my_vhost': vhost limit of 4,000 is reached"}