View a markdown version of this page

Praktik terbaik untuk ketahanan jaringan dan pemantauan di Amazon MQ untuk RabbitMQ - Amazon MQ

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Praktik terbaik untuk ketahanan jaringan dan pemantauan di Amazon MQ untuk RabbitMQ

Ketahanan jaringan dan metrik broker pemantauan sangat penting untuk mempertahankan aplikasi perpesanan yang andal. Lengkapi praktik terbaik berikut untuk menerapkan mekanisme pemulihan otomatis dan strategi pemantauan sumber daya.

Langkah 1: Secara otomatis pulih dari kegagalan jaringan

Kami merekomendasikan untuk selalu mengaktifkan pemulihan jaringan otomatis guna mencegah waktu henti yang signifikan ketika koneksi klien ke node RabbitMQ gagal. Pustaka klien RabbitMQ Java mendukung pemulihan jaringan otomatis secara default, dimulai dari versi 4.0.0.

Pemulihan koneksi otomatis dipicu jika pengecualian yang tidak tertangani dilemparkan ke I/O loop koneksi, jika batas waktu operasi baca soket terdeteksi, atau jika server melewatkan detak jantung. https://www.rabbitmq.com/heartbeats.html

Dalam kasus ketika koneksi awal antara klien dan node RabbitMQ gagal, pemulihan otomatis tidak akan dipicu. Kami merekomendasikan Anda menulis kode aplikasi untuk memperhitungkan kegagalan koneksi awal dengan mencoba ulang koneksi. Contoh berikut mendemonstrasikan percobaan ulang kegagalan jaringan awal menggunakan pustaka klien RabbitMQ Java.

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 }
catatan

Jika aplikasi menutup koneksi menggunakan metode Connection.Close, pemulihan jaringan otomatis tidak akan diaktifkan atau dipicu.

Langkah 2: Pantau metrik dan alarm broker

Kami merekomendasikan pemantauan CloudWatch metrik dan alarm secara teratur untuk broker Amazon MQ untuk RabbitMQ Anda untuk mengidentifikasi dan mengatasi masalah potensial sebelum memengaruhi aplikasi perpesanan Anda. Pemantauan proaktif sangat penting untuk mempertahankan aplikasi perpesanan yang tangguh dan memastikan kinerja yang optimal.

Amazon MQ untuk RabbitMQ menerbitkan metrik CloudWatch yang memberikan wawasan tentang kinerja broker, pemanfaatan sumber daya, dan aliran pesan. Metrik utama untuk dipantau termasuk penggunaan memori dan penggunaan disk. Anda dapat mengatur CloudWatch alarm saat broker Anda mendekati batas sumber daya atau mengalami penurunan kinerja.

Pantau metrik penting berikut:

RabbitMQMemUsed dan RabbitMQMemLimit

Pantau penggunaan memori untuk mencegah alarm memori yang dapat memblokir penerbitan pesan.

RabbitMQDiskFree dan RabbitMQDiskFreeLimit

Pantau penggunaan disk untuk menghindari masalah ruang disk yang dapat menyebabkan kegagalan broker.

Untuk penerapan cluster, pantau juga metrik khusus node untuk mengidentifikasi masalah khusus node.

catatan

Untuk informasi selengkapnya tentang cara mencegah alarm memori tinggi, lihat Mengalamat dan mencegah alarm memori tinggi.