Projekat NGINX objavio je komplet alata za razvoj modula na jeziku Rust

Programeri NGINX projekta predstavili su ngx-rust komplet alata koji vam omogućava da kreirate module za NGINX http server i višeprotokolni proxy u programskom jeziku Rust. Kod ngx-rust se distribuira pod licencom Apache 2.0 i trenutno je u beta verziji.

U početku, komplet alata je razvijen kao projekat za ubrzanje razvoja Istio kompatibilne servisne mreže za Kubernetes platformu koja radi na vrhu NGINX-a. Proizvod nikada nije otišao dalje od prototipa i stagnirao je nekoliko godina, ali su primjeri povezivanja objavljeni tokom procesa prototipa korišteni od strane zajednice u projektima trećih strana kako bi se proširile mogućnosti NGINX-a u Rust-u.

Nakon nekog vremena, kompanija F5 je morala da napiše specijalizovani modul za NGINX kako bi zaštitila svoje usluge, u kojem je želela da koristi Rust jezik kako bi smanjila rizik od grešaka pri radu sa memorijom. Za rješavanje problema doveden je autor ngx-rust-a, koji je dobio zadatak da razvije nove i poboljšane alate za kreiranje modula za NGINX na jeziku Rust.

Komplet alata uključuje dva paketa sanduka:

  • nginx-sys - Generator povezivanja baziran na NGINX izvornom kodu. Uslužni program učitava NGINX kod i sve njegove povezane zavisnosti, a zatim koristi bindgen za kreiranje povezivanja preko originalnih funkcija (FFI, interfejs stranih funkcija).
  • ngx - sloj za pristup C funkcijama iz Rust koda, API i sistem za ponovni izvoz veza kreiranih pomoću nginx-sys.

izvor: opennet.ru

Dodajte komentar