Monocoque: Rust ile Yazılmış Saf ZMTP 3.1 (ZeroMQ) Kütüphanesi
Monocoque, io_uring/tokio/smol destekli, saf Rust'ta yazılmış ZMTP 3.1 uyumlu ZeroMQ mesajlaşma kütüphanesi; benchmark sonuçlarıyla libzmq'yi geride bırakıyor.
Monocoque, ZeroMQ protokolüne (ZMTP 3.1) uyumlu, sıfırdan Rust ile yazılmış bir mesajlaşma kütüphanesi. Varsayılan olarak compio üzerinden io_uring kullanıyor, ancak tokio ve smol backend'leriyle de çalışabiliyor; hangi backend seçilirse seçilsin mevcut libzmq eşleriyle uyumlu kalıyor ve Rust'ın bellek güvenliği modelinin dışına çıkmıyor.
Kütüphane REQ/REP, DEALER/ROUTER, PUB/SUB, PUSH/PULL gibi 11 soket tipinin tamamını, CURVE/PLAIN kimlik doğrulamayı, otomatik yeniden bağlanmayı ve heartbeat mekanizmasını destekliyor. Yazma tamponlarını birleştirme (write coalescing), vektörel yazma (writev) ve tahsissiz alım (allocation-free recv) gibi performans odaklı API'ler sunuyor.
rust-zmq (libzmq'ya FFI bağlantıları) ile yapılan benchmark'larda, coalescing açıldığında üç backend de küçük mesaj boyutlarında libzmq'yi 2-4x geçiyor; REQ/REP gecikmesi ise her backend'de libzmq'den 2.6-3.9x daha düşük. Tek bağlantılı loopback testlerinde epoll tabanlı tokio/smol öne çıkarken, io_uring'in gerçek avantajları çoklu bağlantı ve toplu gönderim senaryolarında ortaya çıkıyor. Rust ekosisteminde native, unsafe içermeyen bir ZeroMQ alternatifi arayan mühendisler için ilgi çekici bir proje.
Bu sentez, kaynağından yapay zeka tarafından üretildi; insan editör ya da elle onay adımı yoktur. Nasıl çalışıyoruz