全部产品
Search
文档中心

ApsaraMQ for Kafka:Mengapa pesan dalam partisi yang berbeda dikonsumsi tidak berurutan atau pada waktu yang berbeda dengan jeda yang jelas?

更新时间:Jun 28, 2025

Konsumen dalam grup yang sama mengonsumsi pesan dari partisi yang berbeda secara tidak berurutan atau pada waktu yang berbeda dengan jeda yang signifikan.

Deskripsi Masalah

Pada halaman Groups di Konsol ApsaraMQ for Kafka, klik nama grup yang ingin Anda kelola. Pada halaman Group Details, pilih tab Consumer Status, lalu klik Consumer Details di kolom Actions untuk topik yang ingin Anda kelola. Di panel yang muncul, jika nilai di kolom Maximum Offset sebuah partisi lebih besar daripada nilai di kolom Offset Maksimum partisi lainnya, partisi tersebut menerima pesan dari produsen lebih awal dibandingkan partisi lainnya.

Penyebab

Setiap konsumen dalam grup yang sama mengonsumsi pesan dari sejumlah partisi yang dibagi secara merata. Oleh karena itu, apakah konsumen dalam grup dapat mengonsumsi pesan secara merata bergantung pada apakah jumlah partisi habis dibagi oleh jumlah konsumen.

  • Jika jumlah partisi default 12 habis dibagi oleh jumlah konsumen N, setiap konsumen akan mengonsumsi pesan secara merata.

  • Jika jumlah partisi default 12 tidak habis dibagi oleh jumlah konsumen N, beberapa konsumen akan mengonsumsi lebih banyak pesan dibandingkan konsumen lainnya.

    Sebagai contoh, terdapat 5 konsumen dan 12 partisi. Dalam kasus ini, dua konsumen masing-masing mengonsumsi pesan dari tiga partisi, sedangkan tiga konsumen lainnya masing-masing mengonsumsi pesan dari dua partisi. Laju konsumsi bergantung pada kinerja pemrosesan konsumen. Jika semua konsumen memiliki kinerja pemrosesan yang sama, dua konsumen yang masing-masing mengonsumsi pesan dari tiga partisi akan mengonsumsi pesan lebih lambat dibandingkan tiga konsumen yang masing-masing mengonsumsi pesan dari dua partisi.

    Catatan

    Jumlah partisi default untuk instance ApsaraMQ for Kafka berlangganan atau bayar sesuai pemakaian adalah 12, sedangkan jumlah partisi default untuk instance ApsaraMQ for Kafka tanpa server adalah 3.

Solusi

Pastikan bahwa jumlah partisi habis dibagi oleh jumlah konsumen.