OpenRaft: Async Rust için geliştirilmiş Raft konsensüs kütüphanesi
OpenRaft, async Rust için genelleştirilmiş üyelik değişikliği ve yüksek performanslı Raft konsensüs motoru sunan açık kaynak kütüphane.
OpenRaft, dağıtık veri depolama sistemleri için Raft konsensüs protokolünü geliştiren async-raft tabanlı bir Rust kütüphanesi. Databend'in meta-servis kümesinde konsensüs motoru olarak kullanılıyor ve genelleştirilmiş üyelik değişikliği, çakışma oranı düşük oy (Vote) tasarımı ile standart Raft'tan ayrışıyor.
Proje event-driven mimarisi sayesinde periyodik tick gerektirmiyor, mesajları toplu işleyerek tek yazıcıda 33.000 yazma/sn, toplu yazmada 5.615.000 yazma/sn performansına ulaşıyor. Depolama, ağ katmanı ve tüm çekirdek tipler (node ID, term, vote, log entry) RaftTypeConfig üzerinden tamamen değiştirilebilir; tokio, compio, monoio gibi farklı async runtime'ları destekliyor.
Mevcut sürüm 0.10 hattı alpha aşamasında olup API henüz kararlı değil; 1.0.0 öncesi uyumsuz değişiklikler olabilir. Turmoil tabanlı simülasyon fuzzer ile her tick sonrası TLA+ spesifikasyonuna göre değişmezler doğrulanıyor, unit test kapsamı %92 seviyesinde. CnosDB, RobustMQ, RocketMQ-rust ve Hiqlite gibi projeler tarafından production'da kullanılıyor.