NGINX proiektuaren garatzaileek ngx-rust toolkit-a kaleratu dute, Rust programazio-lengoaia erabiliz NGINX HTTP zerbitzarirako eta protokolo anitzeko proxyrako moduluak sortzeko aukera ematen duena. Ngx-rust kodea Apache 2.0 lizentziapean banatzen da eta gaur egun beta bertsioan dago.
Hasieran, tresna-sorta NGINX-en gainean exekutatzen den Kubernetes plataformarako Istio-rekin bateragarria den zerbitzu-sare baten garapena bizkortzeko proiektu gisa garatu zen. Produktua ez zen inoiz prototipo-fasea gainditu eta hainbat urtez geldituta egon zen, baina prototipo-prozesuan argitaratutako adibide-loturak komunitateak hirugarrenen proiektuetan erabili zituen NGINX-en gaitasunak Rust hizkuntzan zabaltzeko.
Denbora pixka bat igaro ondoren, F5-ek NGINX modulu espezializatu bat idatzi behar izan zuen bere zerbitzuak babesteko, eta Rust erabili nahi zuten memoria-erroreen arriskua murrizteko. Arazo hau konpontzeko, ngx-rust-en egilea ekarri zuten, Rust-en NGINX moduluak sortzeko tresna berriak eta hobetuak garatzeko ardura eman zitzaiona.
Tresna-multzoak bi kutxa-pakete ditu:
- nginx-sys NGINX iturburu-kodean oinarritutako lotura-sortzaile bat da. Utilitateak NGINX kodea eta bere mendekotasun guztiak deskargatzen ditu, eta ondoren bindgen erabiltzen du funtzio natiboetarako (FFI, kanpoko funtzio-interfazea) loturak sortzeko.
- ngx Rust kodetik C funtzioetara sartzeko geruza bat da, API bat eta nginx-sys erabiliz sortutako loturak berriro esportatzeko sistema bat.
Iturria: opennet.ru
