Projekti NGINX ka publikuar një paketë veglash për zhvillimin e moduleve në gjuhën Rust

Zhvilluesit e projektit NGINX prezantuan paketën e veglave ngx-rust, e cila ju lejon të krijoni module për serverin http NGINX dhe përfaqësuesin me shumë protokolla në gjuhën e programimit Rust. Kodi ngx-rust shpërndahet nën licencën Apache 2.0 dhe aktualisht është në beta.

Fillimisht, paketa e veglave u zhvillua si një projekt për të përshpejtuar zhvillimin e një rrjetë shërbimi të përputhshëm me Istio për platformën Kubernetes që funksionon në krye të NGINX. Produkti nuk shkoi kurrë përtej prototipit dhe ngeci për disa vite, por lidhjet e shembujve të publikuar gjatë procesit të prototipit u përdorën nga komuniteti në projekte të palëve të treta për të zgjeruar aftësitë e NGINX në Rust.

Pas ca kohësh, kompania F5 duhej të shkruante një modul të specializuar për NGINX për të mbrojtur shërbimet e saj, në të cilin donte të përdorte gjuhën Rust për të zvogëluar rrezikun e gabimeve kur punonte me memorie. Për të zgjidhur problemin, u soll autori i ngx-rust, i cili u ngarkua me zhvillimin e mjeteve të reja dhe të përmirësuara për krijimin e moduleve për NGINX në gjuhën Rust.

Paketa e veglave përfshin dy pako arka:

  • nginx-sys - Gjenerator lidhës i bazuar në kodin burimor NGINX. Programi ngarkon kodin NGINX dhe të gjitha varësitë e tij të lidhura, dhe më pas përdor bindgen për të krijuar lidhje mbi funksionet origjinale (FFI, ndërfaqja e funksionit të huaj).
  • ngx - një shtresë për të hyrë në funksionet C nga kodi Rust, një API dhe një sistem për rieksportin e lidhjeve të krijuara duke përdorur nginx-sys.

Burimi: opennet.ru

Shto një koment