Berbagi teknologi

produser kafka

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

produsen

Produser bertanggung jawab membuat pesan dan kemudian mengirimkannya ke Kafka.
Masukkan deskripsi gambar di sini

penyeimbang beban

  1. Strategi pemungutan suara.
  2. Strategi acak.
  3. Hash menurut kunci.

Strategi partisi default Kafka: Jika kunci ditentukan, pesan dengan kunci yang sama akan dikirim ke partisi yang sama (partisi diurutkan); jika kunci tidak ditentukan, strategi polling digunakan.

Kirim pesan

acks menentukan berapa banyak replika partisi yang dibutuhkan produsen untuk menerima pesan sebelum menganggap pesan berhasil ditulis.

Tidak ada kelebihan atau kekurangan di antara ketiga metode tersebut. Sebaliknya, Anda perlu memilih strategi yang sesuai dengan kondisi setempat. Ada trade-off antara kinerja dan keandalan.

Ada 3 cara untuk mengirim pesan:

Kirim dan lupakan.

tuduhan = 0.
Produser tidak menunggu respon apapun dari broker setelah mengirimkan pesan. Dalam kebanyakan kasus, pesan dapat berhasil terkirim karena Kafka sangat tersedia dan produsen memiliki mekanisme untuk mencoba mengirim ulang secara otomatis. Namun, jika terjadi kesalahan atau batas waktu yang tidak dapat dicoba lagi, pesan akan hilang dan aplikasi tidak akan menerima informasi atau pengecualian apa pun.
Di bawah lingkungan konfigurasi yang sama, pengaturan acks ke 0 dapat mencapai throughput maksimum.

Kirim secara asinkron

acks=1, nilai default.
Setelah produser mengirimkan pesan, selama salinan pemimpin partisi berhasil menulis pesan, ia akan menerima respons berhasil dari server.

  • Jika pesan tidak dapat ditulis ke salinan pemimpin, misalnya ketika salinan pemimpin rusak dan salinan pemimpin baru dipilih kembali, produser akan menerima respons kesalahan Untuk menghindari hilangnya pesan, produser dapat memilih untuk mengirim ulang pesan.
  • Jika sebuah pesan ditulis ke salinan pemimpin dan respons yang berhasil dikembalikan ke produser, dan salinan pemimpin terhenti sebelum ditarik oleh salinan pengikut lainnya, pesan tersebut akan tetap hilang saat ini karena pesan terkait tidak ada di salinan salinan pemimpin yang baru terpilih.
    acks diatur ke 1, yang merupakan kompromi antara keandalan pesan dan throughput.
Kirim secara serempak

acks = -1 atau acks = semua.
Setelah produsen mengirimkan pesan, ia harus menunggu semua replika di ISR ​​berhasil menulis pesan sebelum dapat menerima respons yang berhasil dari server.
Di bawah lingkungan konfigurasi yang sama, pengaturan acks ke -1 (semua) dapat mencapai keandalan yang paling kuat. Namun hal ini tidak berarti bahwa pesan tersebut harus dapat diandalkan, karena mungkin hanya ada salinan pemimpin di ISR, yang mengakibatkan situasi acks=1.