- Rust ile yazılmış, Kafka’ya alternatif yüksek performanslı açık kaynak
- Yüksek performanslı log depolama motoru üzerine kurulu bir dağıtık mesaj akışı platformu olarak, güvenilir akış ve otomatik lider değişimi sunar
- Raft uzlaşma protokolü ile metadata tutarlılığını korur ve hata kurtarmayı destekler
- Segment tabanlı bölümleme ile yükü otomatik dağıtır ve liderliği round-robin yöntemiyle döndürür
- Temel özellikler
- Segment düzeyinde sharding ile topic’leri böler ve her segment için lider düğüm yazma işlemlerini üstlenir
- Lease tabanlı yazma fencing ile yalnızca tek liderin yazabilmesini sağlar, split-brain’i önler
- Otomatik rollover ile segment boyutu aşıldığında metadata değişikliği önerir ve lider değişimini gerçekleştirir
- Sealed Segment Reads özelliğiyle geçmiş veriler, replikalardan doğrudan okunabilir
- io_uring tabanlı yüksek performanslı I/O ile Linux ortamında yüksek throughput sağlar
- İstemci protokolü
- TCP tabanlı uzunluk önekli metin protokolü kullanır
REGISTER, PUT, GET, STATE, METRICS komutlarıyla topic oluşturma, mesaj gönderme/alma ve durum sorgulamayı destekler
- Basit komut yapısı sayesinde herhangi bir düğüme bağlanılabilir, yönlendirme otomatik yapılır
- Performans özellikleri
- Yazma throughput’u: segment başına tek writer yapısıyla istikrarlı performans sağlar
- Okuma throughput’u: replika sayısıyla orantılı olarak ölçeklenir
- Gecikme: ortalama 1~2 RTT düzeyi
- Uzlaşma ek yükü minimum: Raft, veri yolunda değil yalnızca metadata üzerinde uygulanır
- Performans karşılaştırması
- Kafka, RocksDB ile karşılaştırıldığında daha yüksek yazma throughput’u ve bant genişliği
- fsync devre dışıyken saniyede 1,2 milyonun üzerinde işlem; etkin olduğunda da benzer düzeyde istikrarlı performans
- MIT License
Henüz yorum yok.