Masalah ini dapat terjadi karena salah satu penyebab berikut: lalu lintas konsumsi mencapai lebar pita jaringan, lalu lintas untuk satu pesan melebihi lebar pita jaringan, atau lalu lintas untuk pesan yang ditarik oleh konsumen pada saat yang sama melebihi lebar pita jaringan.
Deskripsi masalah
Topik tempat konsumen berlangganan menerima pesan, namun konsumsi tidak mencapai offset terbaru. Konsumen perlahan menarik pesan dari broker atau gagal menarik pesan dari broker. Masalah ini lebih sering terjadi ketika konsumsi dilakukan melalui Internet.
Penyebab potensial
Masalah ini dapat disebabkan oleh hal-hal berikut:
Lalu lintas konsumsi mencapai lebar pita jaringan.
Lalu lintas untuk satu pesan melebihi lebar pita jaringan.
Lalu lintas untuk pesan yang ditarik oleh konsumen pada saat yang sama melebihi lebar pita jaringan.
CatatanParameter berikut menentukan jumlah dan ukuran pesan yang dapat ditarik konsumen pada saat yang sama:
max.poll.records: jumlah maksimum pesan yang dapat ditarik konsumen pada saat yang sama.
fetch.max.bytes: jumlah maksimum byte pesan yang dapat ditarik konsumen pada saat yang sama.
max.partition.fetch.bytes: jumlah maksimum byte pesan yang dapat ditarik konsumen dari satu partisi pada saat yang sama.
Solusi
Masuk ke Konsol ApsaraMQ for Kafka untuk memeriksa pesan.
Jika pesan dikembalikan dalam hasil kueri, lanjutkan dengan langkah-langkah berikutnya.
Di panel navigasi sisi kiri halaman Instances, pilih . Pada halaman yang muncul, klik tab Monitoring Chart dan lihat grafik instance_internet_rx.rate(bit/s) untuk memeriksa apakah lalu lintas konsumsi instance mencapai lebar pita jaringan.
Jika lalu lintas konsumsi mencapai lebar pita jaringan, tingkatkan lebar pita jaringan.
Periksa apakah lalu lintas untuk satu pesan dalam topik melebihi lebar pita jaringan.
Jika lalu lintas melebihi lebar pita jaringan, tingkatkan lebar pita jaringan atau kurangi ukuran pesan.
Periksa apakah lalu lintas untuk pesan yang ditarik oleh konsumen pada saat yang sama melebihi lebar pita jaringan.
Jika lalu lintas melebihi lebar pita jaringan, ubah konfigurasi parameter berikut:
fetch.max.bytes: Atur parameter ini ke nilai yang lebih kecil dari lebar pita jaringan.
max.partition.fetch.bytes: Atur parameter ini ke nilai yang lebih kecil dari nilai batas. Nilai batas dihitung menggunakan rumus berikut: Nilai batas = Lebar pita jaringan / Jumlah partisi yang berlangganan pesan.
Jika konsumen mengakses broker dalam virtual private cloud (VPC), lebar pita jaringan dalam topik ini merujuk pada lalu lintas tulis maksimum elastic network interfaces (ENIs) instance.
Jika konsumen mengakses broker melalui Internet, lebar pita jaringan dalam topik ini merujuk pada bandwidth Internet instance.