NGINX projesi, Rust dilinde modüller geliştirmek için bir araç seti yayınladı

NGINX projesinin geliştiricileri, Rust programlama dilinde NGINX http sunucusu ve çoklu protokol proxy'si için modüller oluşturmanıza olanak tanıyan ngx-rust araç setini sundu. Ngx-rust kodu Apache 2.0 lisansı altında dağıtılmaktadır ve şu anda beta sürümündedir.

Başlangıçta araç seti, NGINX üzerinde çalışan Kubernetes platformu için Istio uyumlu Hizmet ağının geliştirilmesini hızlandıracak bir proje olarak geliştirildi. Ürün hiçbir zaman prototipin ötesine geçmedi ve birkaç yıl boyunca aynı kaldı, ancak prototip süreci sırasında yayınlanan örnek bağlamalar, topluluk tarafından Rust'ta NGINX'in yeteneklerini genişletmek için üçüncü taraf projelerde kullanıldı.

Bir süre sonra F5 şirketinin, hizmetlerini korumak amacıyla NGINX için özel bir modül yazması gerekti; burada bellekle çalışırken hata riskini azaltmak için Rust dilini kullanmak istedi. Sorunu çözmek için, Rust dilinde NGINX modülleri oluşturmaya yönelik yeni ve geliştirilmiş araçlar geliştirmekle görevlendirilen ngx-rust'un yazarı getirildi.

Araç seti iki sandık paketi içerir:

  • nginx-sys - NGINX kaynak kodunu temel alan bağlama oluşturucu. Yardımcı program, NGINX kodunu ve ilgili tüm bağımlılıklarını yükler ve ardından orijinal işlevler (FFI, yabancı işlev arayüzü) üzerinde bağlamalar oluşturmak için bağlamayı kullanır.
  • ngx - Rust kodundan C işlevlerine erişmek için bir katman, bir API ve nginx-sys kullanılarak oluşturulan bağlamaları yeniden dışa aktarmak için bir sistem.

Kaynak: opennet.ru

Yorum ekle