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 broker Amazon MQ for 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 cluster alih-alih broker instans tunggal untuk memastikan ketersediaan tinggi dan ketahanan pesan. Penerapan cluster menghilangkan satu titik kegagalan dan memberikan toleransi kesalahan yang lebih baik.
Penerapan cluster terdiri dari tiga node broker RabbitMQ yang didistribusikan di tiga Zona Ketersediaan, menyediakan failover otomatis dan memastikan operasi berlanjut bahkan jika seluruh Zona Ketersediaan tidak tersedia. Amazon MQ secara otomatis mereplikasi pesan di semua node untuk memastikan ketersediaan selama kegagalan atau pemeliharaan node.
Penerapan cluster sangat penting untuk lingkungan produksi dan didukung oleh Perjanjian Tingkat Layanan Amazon MQ.
Untuk informasi selengkapnya, lihat Pener apan klaster di Amazon MQ untuk Rab bitMQ.
Langkah 2: Pilih jenis instance broker yang benar
Throughput pesan dari jenis instance 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 ke atas, Anda dapat menggunakan penerapan cluster 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 berlebihan.
Untuk informasi selengkapnya tentang memilih jenis instans yang benar, lihat Pedoman ukuran di Amazon MQ untuk RabbitMQ.
Langkah 3: Gunakan antrian kuorum
Antrian kuorum, dengan penerapan cluster, harus menjadi pilihan default untuk jenis antrian yang direplikasi di lingkungan produksi untuk broker RabbitMQ pada 3.13 ke atas. Antrian kuorum adalah jenis antrian replikasi modern 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 Zona Ketersediaan yang berbeda, sistem pesan Anda tetap tersedia meskipun seluruh Zona Ketersediaan menjadi tidak tersedia sementara.
Untuk mendeklarasikan antrian kuorum, atur header x-queue-type ke quorum saat membuat antrian Anda.
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 ke saluran 1:1. Sebaiknya gunakan satu koneksi untuk setiap proses, dan kemudian satu saluran untuk setiap utas. Hindari penggunaan saluran yang berlebihan untuk mencegah kebocoran saluran.
Klien yang terhubung ke broker melalui TLS bertanggung jawab untuk memverifikasi sertifikat broker. Untuk panduan, lihat Praktik terbaik untuk verifikasi sertifikat TLS di Amazon MQ untuk RabbitMQ.