NGINX loyihasi Rust tilida modullarni ishlab chiqish uchun asboblar to'plamini nashr etdi

NGINX loyihasini ishlab chiquvchilari Rust dasturlash tilida NGINX http serveri va ko‘p protokolli proksi-server uchun modullar yaratish imkonini beruvchi ngx-rust asboblar to‘plamini taqdim etdilar. Ngx-rust kodi Apache 2.0 litsenziyasi ostida tarqatiladi va hozirda beta-versiyada.

Dastlab, asboblar to'plami NGINX tepasida ishlaydigan Kubernetes platformasi uchun Istio-mos keluvchi Xizmat tarmog'ini ishlab chiqishni tezlashtirish loyihasi sifatida ishlab chiqilgan. Mahsulot hech qachon prototipdan tashqariga chiqmagan va bir necha yil davomida to'xtab qolgan, ammo prototip jarayonida nashr etilgan bog'lash namunalari hamjamiyat tomonidan Rustdagi NGINX imkoniyatlarini kengaytirish uchun uchinchi tomon loyihalarida ishlatilgan.

Bir muncha vaqt o'tgach, F5 kompaniyasi o'z xizmatlarini himoya qilish uchun NGINX uchun ixtisoslashtirilgan modul yozishga to'g'ri keldi, bunda u xotira bilan ishlashda xatolik xavfini kamaytirish uchun Rust tilidan foydalanmoqchi edi. Muammoni hal qilish uchun ngx-rust muallifi olib kelindi, unga Rust tilida NGINX modullarini yaratish uchun yangi va takomillashtirilgan vositalarni ishlab chiqish topshirildi.

Asboblar to'plami ikkita quti paketini o'z ichiga oladi:

  • nginx-sys - NGINX manba kodiga asoslangan bog'lovchi generator. Yordamchi dastur NGINX kodini va unga bog'liq bo'lgan barcha bog'liqliklarni yuklaydi, so'ngra asl funksiyalar (FFI, xorijiy funksiya interfeysi) ustidan bog'lanishlar yaratish uchun bindgen-dan foydalanadi.
  • ngx - Rust kodidan C funktsiyalariga kirish uchun qatlam, API va nginx-sys yordamida yaratilgan ulanishlarni qayta eksport qilish tizimi.

Manba: opennet.ru

a Izoh qo'shish