Projekt NGINX zverejnil súpravu nástrojov na vývoj modulov v jazyku Rust

Vývojári projektu NGINX vydali sadu nástrojov ngx-rust, ktorá umožňuje vytvárať moduly pre HTTP server NGINX a multiprotokolový proxy pomocou programovacieho jazyka Rust. Kód ngx-rust je distribuovaný pod licenciou Apache 2.0 a momentálne je v beta verzii.

Sada nástrojov bola pôvodne vyvinutá ako projekt na urýchlenie vývoja servisnej siete kompatibilnej s Istio pre platformu Kubernetes bežiacu na NGINX. Produkt sa nikdy neposunul za fázu prototypu a niekoľko rokov stagnoval, ale vzorové väzby publikované počas procesu prototypovania boli komunitou použité v projektoch tretích strán na rozšírenie možností NGINX v jazyku Rust.

Po nejakom čase potrebovala spoločnosť F5 napísať špecializovaný modul NGINX na ochranu svojich služieb a chcela použiť Rust na zníženie rizika chýb pamäte. Na vyriešenie tohto problému si prizvali autora ngx-rust, ktorý mal za úlohu vyvinúť nové a vylepšené nástroje na vytváranie modulov NGINX v Ruste.

Sada nástrojov obsahuje dva balíky prepraviek:

  • nginx-sys je generátor väzieb založený na zdrojovom kóde NGINX. Nástroj stiahne kód NGINX a všetky jeho závislosti a potom pomocou bindgen vygeneruje väzby pre natívne funkcie (FFI, rozhranie zahraničných funkcií).
  • ngx je vrstva pre prístup k funkciám jazyka C z kódu Rust, API a systém pre reexport väzieb vytvorených pomocou nginx-sys.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster