Projekt NGINX avaldas Rust'i keeles moodulite arendamise tööriistakomplekti.

NGINX projekti arendajad on tutvustanud ngx-rust tööriistakomplekti, mis võimaldab luua mooduleid NGINX-i HTTP-serverile ja mitme protokolliga pöördproksi Rust programmeerimiskeeles. ngx-rusti kood on litsentsitud Apache 2.0 all ning praegu on see beetaversioonis.

Alguses arendati tööriistakomplekti Istio ühilduva teenuse võrgu (Service mesh) arendamise kiirendamiseks Kubernetes platvormile, toimides NGINX-i peal. Toode ei jõudnud kunagi prototüübist kaugemale ja oli mitu aastat seiskunud, kuid prototüübi loomise käigus avaldatud näidis sidumised on kogukonna poolt kasutatud kolmandate isikute projektides NGINX-i võimaluste laiendamiseks Rust keeles.

Mööda aega vajas ettevõte F5 NGINX-i jaoks spetsialiseeritud mooduli kirjutamist, kus sooviti kasutada Rust-i keelt, et vähendada mälu haldamisega seotud vigu. Probleemi lahendamiseks kaasati ngx-rust autori, kellele anti ülesanne arendada uus ja täiustatud tööriistakomplekt NGINX-i moodulite loomiseks Rust keeles.

Tööriistakomplekt sisaldab kahte crate-paketti:

  • nginx-sys — NGINX-i allika tekstidest põhinev sidumis generaator. Tööriist laadib NGINX-i koodi ja kõik sellega seotud sõltuvused ning seejärel kasutab bindgen'i, et luua originaalsete funktsioonide (FFI, foreign function interface) ümbrised.
  • ngx — kiht, mis võimaldab pääseda C-funktsioonidele Rusti koodist, API ja süsteem ümber eksportimiseks sidumistele, mis on loodud nginx-sys abil.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster