View a markdown version of this page

Le migliori pratiche per la configurazione dei broker e la gestione delle connessioni in 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à.

Le migliori pratiche per la configurazione dei broker e la gestione delle connessioni in Amazon MQ per RabbitMQ

La configurazione del broker e la gestione delle connessioni sono il primo passo per prevenire problemi relativi alla velocità effettiva dei messaggi, all'utilizzo delle risorse e alla capacità di gestire i carichi di lavoro di produzione. Quando crei e configuri un broker Amazon MQ for RabbitMQ, completa le seguenti best practice per selezionare i tipi di istanza appropriati, gestire le connessioni in modo efficiente e configurare il prefetching dei messaggi per massimizzare le prestazioni del broker.

Importante

Amazon MQ for RabbitMQ non supporta il nome utente «guest» ed eliminerà l'account guest predefinito quando crei un nuovo broker. Amazon MQ eliminerà inoltre periodicamente qualsiasi account creato dal cliente denominato «ospite».

Fase 1: utilizzare le distribuzioni in cluster

Per i carichi di lavoro di produzione, consigliamo di utilizzare le distribuzioni in cluster anziché i broker a istanza singola per garantire un'elevata disponibilità e resilienza dei messaggi. Le implementazioni in cluster rimuovono i singoli punti di errore e offrono una migliore tolleranza ai guasti.

Le implementazioni dei cluster sono costituite da tre nodi broker RabbitMQ distribuiti su tre zone di disponibilità, che forniscono un failover automatico e garantiscono la continuità delle operazioni anche se un'intera zona di disponibilità non è disponibile. Amazon MQ replica automaticamente i messaggi su tutti i nodi per garantire la disponibilità durante i guasti o la manutenzione dei nodi.

Le distribuzioni in cluster sono essenziali per gli ambienti di produzione e sono supportate dal Service Level Agreement di Amazon MQ.

Per ulteriori informazioni, consulta Distribuzione dei cluster in Amazon MQ per RabbitMQ.

Passaggio 2: scegli il tipo di istanza del broker corretto

La velocità effettiva dei messaggi di un tipo di istanza del broker dipende dal caso d'uso dell'applicazione. M7g.mediumdeve essere utilizzato solo per testare le prestazioni dell'applicazione. L'utilizzo di questa istanza più piccola prima di utilizzare istanze più grandi in produzione può migliorare le prestazioni dell'applicazione. Sui tipi di istanza m7g.large e superiori, è possibile utilizzare le distribuzioni in cluster per un'elevata disponibilità e durata dei messaggi. I tipi di istanze broker più grandi sono in grado di gestire livelli di produzione di client e code, throughput elevato, messaggi in memoria e messaggi ridondanti.

Per ulteriori informazioni sulla scelta del tipo di istanza corretto, consulta le linee guida per il dimensionamento in Amazon MQ per RabbitMQ.

Fase 3: Usa le code di quorum

Le code quorum, con distribuzione in cluster, dovrebbero essere la scelta predefinita per i tipi di coda replicati negli ambienti di produzione per i broker RabbitMQ sulla versione 3.13 e successive. Le code quorum sono un moderno tipo di coda replicata che offre alta affidabilità, elevata produttività e latenza stabile.

Le code quorum utilizzano l'algoritmo di consenso Raft per fornire una migliore tolleranza agli errori. Quando il nodo leader non è più disponibile, le code di quorum eleggono automaticamente un nuovo leader a maggioranza, assicurando che la consegna dei messaggi continui con interruzioni minime. Poiché ogni nodo si trova in una zona di disponibilità diversa, il sistema di messaggistica rimane disponibile anche se un'intera zona di disponibilità diventa temporaneamente non disponibile.

Per dichiarare il quorum in coda, imposta l'intestazione x-queue-type su quando crei le code. quorum

Per ulteriori informazioni sulle code di quorum, comprese le strategie di migrazione e le best practice, consulta Quorum queues in Amazon MQ for RabbitMQ. Code quorum per RabbitMQ su Amazon MQ

Fase 4: Usa più canali

Per evitare interruzioni della connessione, utilizza più canali su una singola connessione. Le applicazioni dovrebbero evitare un rapporto tra connessione e canale di 1:1. Si consiglia di utilizzare una connessione per ogni processo e quindi un canale per ogni thread. Evita l'uso eccessivo del canale per evitare perdite di canali.

I clienti che si connettono a un broker tramite TLS sono responsabili della verifica del certificato del broker. Per le linee guida, consulta Le migliori pratiche per la verifica dei certificati TLS in Amazon MQ per RabbitMQ.