23 poin oleh frogred8 2024-05-19 | 2 komentar | Bagikan ke WhatsApp
  • Alasan umum Kafka cepat
    • Menggunakan I/O latensi rendah (RAM)
    • Menggunakan struktur data I/O sekuensial (log)
    • Menerapkan zero-copy
    • Sistem yang dapat diskalakan secara horizontal
    • Kompresi data dan pemrosesan batch
  • Apa itu zero-copy?
    • Antarmuka yang didukung OS untuk mengurangi beban yang terjadi saat menyalin file ke socket
    • Di Linux, menggunakan perintah sendfile
  • Jadi, bagaimana Kafka menjadi lebih cepat berkat zero-copy?
    • Di Java, fungsi transferTo ditambahkan ke paket NIO
    • Dengan menggunakan ini, Kafka tidak membawa pesan ke ruang pengguna, melainkan langsung mengirimkannya dari ruang kernel ke jaringan sehingga memperoleh banyak keuntungan dalam hal kecepatan
    • Saat mengukur performa antara cara lama dan cara yang menggunakan transferTo, yang terakhir menunjukkan hasil 65% lebih cepat

2 komentar

 
vwjdalsgkv 2024-05-19

Sepertinya ada sedikit kekeliruan terkait NIO di isi artikel; NIO bukan non-blocking I/O, melainkan New I/O. NIO mendukung keduanya, yaitu blocking maupun non-blocking.

 
frogred8 2024-05-19

Di beberapa dokumen tertulis sebagai singkatan dari non-blocking io, jadi saya sempat salah paham. Terima kasih atas masukannya.