Zhvilluesit e projektit NGINX prezantuan mjetin ngx-rust, i cili mundëson krijimin e moduleve për serverin http dhe proxy-në multi-protokoll NGINX në gjuhën e programimit Rust. Kodi ngx-rust shpërndahet nën licencën Apache 2.0 dhe aktualisht është në fazën beta.
Fillimisht, ky mjet u zhvillua si një projekt për të përshpejtuar zhvillimin e një Service mesh të përputhshëm me Istio për platformën Kubernetes, që funksionon mbi NGINX. Produkti nuk doli përtej prototipit dhe për disa vite mbeti në stagnim, por shembujt e publikuar gjatë krijimit të prototipit u përdorën nga komuniteti në projekte të tjera për të zgjeruar funksionalitetet e NGINX në gjuhën Rust.
Për një kohë, kompanisë F5 iu nevojit zhvillimi i një moduli të specializuar për NGINX për mbrojtjen e shërbimeve të saj, ku dëshironin të përdornin gjuhën Rust për të ulur rrezikun e gabimeve gjatë punës me kujtesën. Për zgjidhjen e këtij problemi u angazhua autori i ngx-rust, i cili iu besua zhvillimi i një mjete të ri dhe të përmirësuar për krijimin e moduleve për NGINX në gjuhën Rust.
Instrumenti përfshin dy paketat crate:
- nginx-sys â njĂ« gjenerator lidhjesh i bazuar nĂ« kodin burimor tĂ« NGINX. Programi ngarkon kodin e NGINX dhe tĂ« gjitha varĂ«sitĂ« e tij lidhur, pastaj pĂ«rdor bindgen pĂ«r tĂ« formuar lidhje mbi funksionet origjinale (FFI, ndĂ«rfaqja e funksioneve tĂ« huaja).
- ngx â njĂ« shtresĂ« pĂ«r qasje nĂ« funksionet C nga kodi Rust, API dhe sistemi i ri-eksportit tĂ« lidhjeve tĂ« krijuara me ndihmĂ«n e nginx-sys.
Burimi: opennet.ru
