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 resilienza e il monitoraggio della rete in Amazon MQ per RabbitMQ
La resilienza della rete e le metriche di monitoraggio dei broker sono essenziali per mantenere applicazioni di messaggistica affidabili. Completa le seguenti best practice per implementare meccanismi di ripristino automatici e strategie di monitoraggio delle risorse.
Fase 1: Ripristino automatico in caso di guasti di rete
Si consiglia di abilitare sempre il ripristino automatico della rete per evitare tempi di inattività significativi nei casi in cui le connessioni client ai nodi RabbitMQ non avessero esito positivo. La libreria client Java RabbitMQ supporta il ripristino automatico della rete per impostazione predefinita, a partire dalla versione 4.0.0.
Il ripristino automatico della connessione viene attivato se viene generata un'eccezione non gestita nel I/O loop della connessione, se viene rilevato un timeout dell'operazione di lettura del socket o se il server perde un battito cardiaco. https://www.rabbitmq.com/heartbeats.html
Nei casi in cui la connessione iniziale tra un client e un nodo RabbitMQ non riesce, il ripristino automatico non verrà attivato. Si consiglia di scrivere il codice dell'applicazione per tenere conto degli errori di connessione iniziali riprovando la connessione. Nell'esempio seguente viene illustrato il tentativo di tentativi di errori iniziali di rete utilizzando la libreria client Java RabbitMQ.
ConnectionFactory factory = new ConnectionFactory(); // enable automatic recovery if using RabbitMQ Java client library prior to version 4.0.0. factory.setAutomaticRecoveryEnabled(true); // configure various connection settings try { Connection conn = factory.newConnection(); } catch (java.net.ConnectException e) { Thread.sleep(5000); // apply retry logic }
Nota
Se un'applicazione chiude una connessione utilizzando il metodo Connection.Close, il ripristino automatico della rete non verrà attivato o abilitato.
Fase 2: Monitora le metriche e gli allarmi dei broker
Ti consigliamo di monitorare regolarmente le CloudWatch metriche e gli allarmi del tuo broker Amazon MQ for RabbitMQ per identificare e risolvere potenziali problemi prima che abbiano un impatto sull'applicazione di messaggistica. Il monitoraggio proattivo è essenziale per mantenere un'applicazione di messaggistica resiliente e garantire prestazioni ottimali.
Amazon MQ for RabbitMQ pubblica metriche CloudWatch che forniscono informazioni sulle prestazioni dei broker, sull'utilizzo delle risorse e sul flusso di messaggi. Le metriche chiave da monitorare includono l'utilizzo della memoria e l'utilizzo del disco. Puoi impostare CloudWatch allarmi quando il broker si avvicina ai limiti delle risorse o subisce un peggioramento delle prestazioni.
Monitora le seguenti metriche essenziali:
RabbitMQMemUsedeRabbitMQMemLimit-
Monitora l'utilizzo della memoria per evitare allarmi di memoria che possono bloccare la pubblicazione dei messaggi.
RabbitMQDiskFreeeRabbitMQDiskFreeLimit-
Monitora l'utilizzo del disco per evitare problemi di spazio su disco che possono causare errori ai broker.
Per le implementazioni dei cluster, monitora anche le metriche specifiche dei nodi per identificare i problemi specifici del nodo.
Nota
Per ulteriori informazioni su come prevenire l'allarme di memoria elevata, consulta Indirizzare e prevenire l'allarme di memoria elevata.