Kafka neden hızlıdır?
(frogred8.github.io)- 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
sendfilekomutu
- Peki Kafka zero-copy sayesinde nasıl hızlandı?
- Java'da NIO paketine
transferTofonksiyonu 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
transferTokullanılan yöntemin performansı ölçüldüğünde, ikincisinin %65 daha hızlı olduğu görülmüştür
- Java'da NIO paketine
2 yorum
Metindeki içerikte
niokonusunda biraz karışıklık olmuş gibi;nio,non-blocking iodeğil,new ioanlamına gelir. Hem blocking hem de non-blocking’i destekler.Bazı belgelerde
non-blocking iokısaltması olarak yazdığı için yanlış biliyormuşum. Geri bildiriminiz için teşekkürler.