Topik ini menjelaskan definisi, model, atribut internal, batasan perilaku, kompatibilitas versi, dan saran penggunaan kelompok konsumen di ApsaraMQ for RocketMQ.
Definisi
Kelompok konsumen adalah unit penyeimbangan beban di ApsaraMQ for RocketMQ yang terdiri dari beberapa konsumen dengan perilaku konsumsi identik.
Berbeda dengan konsumen—yang merupakan entitas berjalan—kelompok konsumen merupakan sumber daya logis. Di ApsaraMQ for RocketMQ, Anda dapat menginisialisasi beberapa konsumen dalam satu kelompok konsumen untuk meningkatkan kinerja konsumsi dan menerapkan pemulihan bencana berdaya tinggi.
Perilaku konsumsi berikut didefinisikan pada tingkat kelompok konsumen. Semua konsumen dalam kelompok yang sama mengonsumsi pesan berdasarkan perilaku bersama ini serta kebijakan penyeimbangan beban kelompok tersebut.
Hubungan langganan: ApsaraMQ for RocketMQ mengelola dan melacak hubungan langganan pada tingkat kelompok konsumen. Untuk informasi selengkapnya, lihat Hubungan langganan.
Urutan pengiriman: Server ApsaraMQ for RocketMQ mendukung pengiriman pesan secara terurut maupun konkuren kepada konsumen. Metode pengiriman dikonfigurasi pada tingkat kelompok konsumen. Untuk informasi selengkapnya, lihat Pesan terurut.
Kebijakan pengulangan konsumsi: Ini adalah kebijakan yang berlaku ketika konsumen gagal mengonsumsi sebuah pesan. Kebijakan ini mencakup jumlah maksimum pengulangan dan pengaturan antrian pesan gagal. Untuk informasi selengkapnya, lihat Pengulangan konsumsi.
Hubungan model
Dalam model domain ApsaraMQ for RocketMQ, kelompok konsumen ditempatkan dalam alur pesan sebagai berikut:
- Produsen memproduksi dan mengirim pesan ke broker ApsaraMQ for RocketMQ.
- Broker ApsaraMQ for RocketMQ menyimpan pesan dalam antrian yang ditentukan oleh topik sesuai urutan penerimaannya.
- Konsumen memperoleh dan mengonsumsi pesan dari broker ApsaraMQ for RocketMQ berdasarkan langganan yang ditentukan.
Atribut internal
Hubungan langgananDefinisi: Kumpulan hubungan langganan yang terkait dengan kelompok konsumen. Ini mencakup topik yang dilanggan konsumen dan aturan penyaringan pesan. Konsumen mendaftarkan hubungan langganan secara dinamis ke kelompok konsumen. Server ApsaraMQ for RocketMQ menyimpan hubungan langganan ini secara persisten dan menggunakannya untuk melacak progres konsumsi pesan. Untuk informasi selengkapnya, lihat Hubungan langganan.
Batasan logika konsumsi
- Urutan pengiriman pesan
- Kebijakan Pengulangan Konsumsi
Kompatibilitas versi
- ApsaraMQ for RocketMQ broker versi 5.x: Konsumen memperoleh urutan pengiriman pesan dan kebijakan pengulangan konsumsi dari kelompok konsumen tempat mereka terasosiasi. Logika konsumsi sama untuk semua konsumen. Anda tidak perlu menentukan urutan pengiriman pesan atau kebijakan pengulangan konsumsi di sisi klien.
- ApsaraMQ for RocketMQ broker versi 3.x dan 4.x: Urutan pengiriman pesan dan kebijakan pengulangan konsumsi ditentukan melalui operasi API di sisi klien Anda. Anda harus menentukan urutan pengiriman pesan dan kebijakan pengulangan konsumsi di sisi klien untuk memastikan logika konsumsi semua konsumen dalam kelompok konsumen tetap sama.
Jika Anda menggunakan SDK versi lama untuk mengakses broker ApsaraMQ for RocketMQ versi 5.x, logika konsumsi konsumen ditentukan oleh konfigurasi operasi API di sisi klien konsumen.
Saran penggunaan
Pisahkan menjadi kelompok berdasarkan logika bisnis
Di ApsaraMQ for RocketMQ, konsumen dan topik memiliki hubungan banyak-ke-banyak. Ikuti prinsip-prinsip berikut saat merancang dan membuat kelompok konsumen:
Pastikan urutan pengiriman konsisten: Semua konsumen dalam kelompok konsumen yang sama harus menggunakan urutan pengiriman yang sama, baik terurut maupun konkuren. Jangan gunakan kelompok konsumen yang sama untuk skenario bisnis yang memerlukan urutan pengiriman berbeda.
Kelompokkan berdasarkan jenis bisnis: Biasanya, satu kelompok konsumen berkorespondensi dengan satu topik. Domain bisnis yang berbeda memiliki persyaratan konsumsi pesan yang berbeda, seperti atribut penyaringan pesan dan kebijakan pengulangan konsumsi yang berbeda. Oleh karena itu, Anda sebaiknya menggunakan kelompok konsumen yang berbeda untuk mengonsumsi pesan dari topik yang termasuk dalam domain bisnis berbeda. Kami merekomendasikan agar satu kelompok konsumen mengonsumsi pesan dari tidak lebih dari 10 topik.
Hindari penggunaan mekanisme otomatis untuk mengelola kelompok konsumen
Dalam arsitektur ApsaraMQ for RocketMQ, kelompok konsumen adalah sumber daya logis yang digunakan untuk manajemen status. Setiap kelompok konsumen dikaitkan dengan status konsumsi, backlog pesan, metrik yang dapat diamati, dan data pemantauan. Oleh karena itu, Anda harus mengelola sumber daya kelompok konsumen secara ketat di lingkungan produksi. Jangan sembarangan menambah, menghapus, mengubah, atau mengkueri kelompok konsumen.