NGINX projekt on avaldanud tööriistakomplekti moodulite arendamiseks Rust keeles

Projekti NGINX arendajad esitlesid ngx-rust tööriistakomplekti, mis võimaldab luua mooduleid http-serveri ja NGINX mitme protokolli puhverserveri jaoks Rust programmeerimiskeeles. Koodi ngx-rust levitatakse Apache 2.0 litsentsi all ja see on praegu beetaversioonis.

Algselt töötati tööriistakomplekt välja projektina, et kiirendada NGINX-i peal töötava Kubernetese platvormi Istio-ühilduva teenusevõrgu väljatöötamist. Toode ei jõudnud kunagi prototüübist kaugemale ja seisis mitu aastat, kuid kogukond kasutas prototüübi protsessi käigus avaldatud näidisköiteid kolmandate osapoolte projektides, et laiendada NGINX-i võimalusi Rustis.

Mõne aja pärast oli ettevõttel F5 vaja oma teenuste kaitsmiseks kirjutada NGINX-i jaoks spetsiaalne moodul, milles ta soovis mäluga töötamisel vigade ohu vähendamiseks kasutada Rust-keelt. Probleemi lahendamiseks toodi kaasa ngx-rusti autor, kelle ülesandeks oli välja töötada uued ja täiustatud tööriistad NGINX-i jaoks Rust-keeles moodulite loomiseks.

Tööriistakomplekt sisaldab kahte kastipaketti:

  • nginx-sys – NGINX lähtekoodil põhinev sidumisgeneraator. Utiliit laadib NGINX-koodi ja kõik sellega seotud sõltuvused ning seejärel kasutab bindgeni, et luua seoseid algsete funktsioonide (FFI, võõrfunktsiooni liides) kohal.
  • ngx - kiht C-funktsioonidele juurdepääsuks Rust-koodist, API ja süsteem nginx-sys abil loodud sidemete taasekspordiks.

Allikas: opennet.ru

Lisa kommentaar