23 puan yazan frogred8 2024-05-19 | 2 yorum | WhatsApp'ta paylaş
  • Kafka'nın genel olarak hızlı olmasının nedenleri
    • düşük gecikmeli I/O kullanması (RAM)
    • sıralı I/O veri yapıları kullanması (log)
    • zero-copy uygulaması
    • yatay ölçeklenebilir bir sistem olması
    • veri sıkıştırma ve toplu işleme
  • zero-copy nedir?
    • dosyayı socket'e kopyalarken oluşan yükü azaltan, işletim sistemi destekli bir arayüz
    • Linux'ta sendfile komutu
  • Peki Kafka zero-copy sayesinde nasıl hızlandı?
    • Java'da NIO paketine transferTo fonksiyonu eklendi
    • Kafka bunu kullanarak mesajları kullanıcı alanına getirmeden, çekirdek alanından doğrudan ağa gönderir ve bu da hız açısından büyük avantaj sağlar
    • geleneksel yöntem ile transferTo kullanılan yöntemin performansı ölçüldüğünde, ikincisinin %65 daha hızlı olduğu görülmüştür

2 yorum

 
vwjdalsgkv 2024-05-19

Metindeki içerikte nio konusunda biraz karışıklık olmuş gibi; nio, non-blocking io değil, new io anlamına gelir. Hem blocking hem de non-blocking’i destekler.

 
frogred8 2024-05-19

Bazı belgelerde non-blocking io kısaltması olarak yazdığı için yanlış biliyormuşum. Geri bildiriminiz için teşekkürler.