NGINX projektas paskelbė įrankių rinkinį, skirtą moduliams kurti Rust kalba

NGINX projekto kūrėjai pristatė ngx-rust įrankių rinkinį, kuris leidžia kurti http serverio ir NGINX kelių protokolų tarpinio serverio modulius Rust programavimo kalba. „ngx-rust“ kodas platinamas pagal „Apache 2.0“ licenciją ir šiuo metu yra beta versijos.

Iš pradžių įrankių rinkinys buvo sukurtas kaip projektas, skirtas paspartinti su Istio suderinamo paslaugų tinklo kūrimą Kubernetes platformai, veikiančiai NGINX. Produktas niekada neperžengė prototipo ribų ir stovėjo keletą metų, tačiau prototipo proceso metu paskelbtus pavyzdžius bendruomenė naudojo trečiųjų šalių projektuose, kad išplėstų NGINX galimybes Rust.

Po kurio laiko F5 kompanijai reikėjo parašyti specializuotą modulį NGINX, kad apsaugotų savo paslaugas, kuriame ji norėjo naudoti Rust kalbą, kad sumažintų klaidų riziką dirbant su atmintimi. Problemai išspręsti buvo pakviestas ngx-rust autorius, kuriam buvo pavesta sukurti naujus ir patobulintus įrankius, skirtus NGINX moduliams kurti Rust kalba.

Įrankių rinkinį sudaro du dėžių paketai:

  • nginx-sys – įrišimo generatorius, pagrįstas NGINX šaltinio kodu. Programa įkelia NGINX kodą ir visas su juo susijusias priklausomybes, o tada naudoja bindgen, kad sukurtų susiejimą per pradines funkcijas (FFI, svetimos funkcijos sąsaja).
  • ngx - sluoksnis, skirtas prieigai prie C funkcijų iš Rust kodo, API ir sistemos, skirtos pakartotinai eksportuoti surišimus, sukurtus naudojant nginx-sys.

Šaltinis: opennet.ru

Добавить комментарий