NGINX proiektuak Rust hizkuntzan moduluak garatzeko tresna-kit bat argitaratu du

NGINX proiektuaren garatzaileek ngx-rust toolkit-a aurkeztu zuten, eta horrek http zerbitzarirako eta NGINX protokolo anitzeko proxyrako moduluak sortzeko aukera ematen du Rust programazio-lengoaian. ngx-rust kodea Apache 2.0 lizentziapean banatzen da eta une honetan beta-n dago.

Hasieran, tresna-kutxa NGINX-en gainean exekutatzen den Kubernetes plataformarako Istio-rekin bateragarria den Zerbitzu sare baten garapena bizkortzeko proiektu gisa garatu zen. Produktua ez zen inoiz prototipotik harago joan eta hainbat urtez geldirik egon zen, baina prototipoaren prozesuan argitaratutako adibide-loturak komunitateak hirugarrenen proiektuetan erabili zituen NGINX-en Rust-en gaitasunak zabaltzeko.

Denbora pixka bat igaro ondoren, F5 konpainiak NGINXentzako modulu espezializatu bat idatzi behar zuen bere zerbitzuak babesteko, eta bertan Rust hizkuntza erabili nahi zuen memoriarekin lan egitean errore-arriskua murrizteko. Arazoa konpontzeko, ngx-rust-en egilea ekarri zuten, Rust hizkuntzan NGINX-erako moduluak sortzeko tresna berriak eta hobetuak garatzeaz arduratu zena.

Tresna-kutxak bi kaxa pakete ditu:

  • nginx-sys - NGINX iturburu-kodean oinarritutako lotura-sorgailua. Utilitateak NGINX kodea eta hari lotutako mendekotasun guztiak kargatzen ditu, eta, ondoren, bindgen erabiltzen du jatorrizko funtzioen gaineko loturak sortzeko (FFI, atzerriko funtzioen interfazea).
  • ngx - Rust kodetik C funtzioetara sartzeko geruza, API bat eta nginx-sys erabiliz sortutako loturak berriro esportatzeko sistema bat.

Iturria: opennet.ru

Gehitu iruzkin berria