Praktik terbaik untuk pengaturan broker dan manajemen koneksi 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 pengaturan broker dan manajemen koneksi di Amazon MQ untuk RabbitMQ

Pengaturan broker dan manajemen koneksi adalah langkah pertama dalam mencegah masalah dengan throughput pesan broker, pemanfaatan sumber daya, dan kemampuan untuk menangani beban kerja produksi. Saat membuat dan mengonfigurasi Amazon MQ untuk broker RabbitMQ, selesaikan praktik terbaik berikut untuk memilih jenis instans yang sesuai, mengelola koneksi secara efisien, dan mengonfigurasi pra-pengambilan pesan untuk memaksimalkan kinerja broker Anda.

penting

Amazon MQ untuk RabbitMQ tidak mendukung nama pengguna “tamu”, dan akan menghapus akun tamu default saat Anda membuat broker baru. Amazon MQ juga akan secara berkala menghapus akun yang dibuat pelanggan yang disebut “tamu”.

Langkah 1: Gunakan penerapan cluster

Untuk beban kerja produksi, sebaiknya gunakan penerapan klaster alih-alih pialang instans tunggal untuk memastikan ketersediaan dan ketahanan pesan yang tinggi. Penerapan cluster menghapus satu titik kegagalan dan memberikan toleransi kesalahan yang lebih baik.

Penerapan cluster terdiri dari tiga node broker RabbitMQ yang didistribusikan di tiga Availability Zone, menyediakan failover otomatis dan memastikan operasi berlanjut bahkan jika seluruh Availability Zone menjadi tidak tersedia. Amazon MQ secara otomatis mereplikasi pesan di semua node untuk memastikan ketersediaan selama kegagalan atau pemeliharaan node.

Penerapan klaster sangat penting untuk lingkungan produksi dan didukung oleh Perjanjian Tingkat Layanan Amazon MQ.

Untuk informasi selengkapnya, lihat Penerapan klaster di Amazon MQ untuk RabbitMQ.

Langkah 2: Pilih jenis instans broker yang benar

Throughput pesan dari jenis instans broker tergantung pada kasus penggunaan aplikasi Anda. M7g.mediumseharusnya hanya digunakan untuk menguji kinerja aplikasi. Menggunakan instance yang lebih kecil ini sebelum menggunakan instance yang lebih besar dalam produksi dapat meningkatkan kinerja aplikasi. Pada jenis instans m7g.large dan di atasnya, Anda dapat menggunakan penerapan klaster untuk ketersediaan tinggi dan daya tahan pesan. Jenis instans broker yang lebih besar dapat menangani tingkat produksi klien dan antrian, throughput tinggi, pesan dalam memori, dan pesan yang berlebihan.

Untuk informasi selengkapnya tentang memilih jenis instans yang benar, lihat Pedoman ukuran di Amazon MQ for RabbitMQ.

Langkah 3: Gunakan antrian kuorum

Antrian kuorum, dengan penerapan klaster, harus menjadi pilihan default untuk jenis antrian yang direplikasi di lingkungan produksi untuk broker RabbitMQ pada 3.13 ke atas. Antrian kuorum adalah tipe antrian modern yang direplikasi yang memberikan keandalan tinggi, throughput tinggi, dan latensi stabil.

Antrian kuorum menggunakan algoritma konsensus Raft untuk memberikan toleransi kesalahan yang lebih baik. Ketika node pemimpin menjadi tidak tersedia, antrian kuorum secara otomatis memilih pemimpin baru dengan suara mayoritas, memastikan pengiriman pesan berlanjut dengan gangguan minimal. Karena setiap node berada di Availability Zone yang berbeda, sistem pesan Anda tetap tersedia meskipun seluruh Availability Zone menjadi tidak tersedia untuk sementara.

Untuk mendeklarasikan antrian kuorum, atur header saat membuat antrian x-queue-type Andaquorum.

Untuk informasi selengkapnya tentang antrian kuorum, termasuk strategi migrasi dan praktik terbaik, lihat Antrian kuorum di Amazon MQ untuk RabbitMQ.

Langkah 4: Gunakan beberapa saluran

Untuk menghindari churn koneksi, gunakan beberapa saluran melalui satu koneksi. Aplikasi harus menghindari rasio koneksi 1:1 ke saluran. Kami merekomendasikan menggunakan satu koneksi untuk setiap proses, dan kemudian satu saluran untuk setiap utas. Hindari penggunaan saluran yang berlebihan untuk mencegah kebocoran saluran.