Projekt NGINX zverejnil nástroje na vývoj modulov v jazyku Rust

Vývojári projektu NGINX predstavili nástroj ngx-rust, ktorý umožňuje vytvárať moduly pre http server a viacprotokolový proxy NGINX v programovacom jazyku Rust. Kód ngx-rust je distribuovaný pod licenciou Apache 2.0 a momentálne sa nachádza v beta verzii.

Nástroj sa pôvodne vyvíjal ako projekt na urýchlenie vývoja Service mesh kompatibilného s Istio pre platformu Kubernetes, ktorý fungoval na NGINX. Produkt sa nedostal za rámec prototypu a niekoľko rokov bol v stagnácii, ale príklady väzieb z procesu vytvárania prototypu boli použité komunitou v externých projektoch na rozšírenie možností NGINX pomocou jazyka Rust.

Po nejakom čase spoločnosti F5 vznikla potreba napísať špecializovaný modul pre NGINX na ochranu svojich služieb, v ktorom sa chcel využiť jazyk Rust na zníženie rizika chýb pri práci s pamäťou. Na riešenie úlohy bol prizvaný autor ngx-rust, ktorému bola zverená úloha vyvinúť nový a vylepšený nástroj na vytváranie modulov pre NGINX v jazyku Rust.

Nástroj zahŕňa dva crate balíky:

  • nginx-sys — generátor väzieb na základe zdrojových textov NGINX. Nástroj načítava kód NGINX a všetky s ním súvisiace závislosti, po čom používa bindgen na vytvorenie obálok nad pôvodnými funkciami (FFI, foreign function interface).
  • ngx — medzičlánok pre volanie C funkcií z kódu Rust, API a systém zreexportovania obálok, vytvorených pomocou nginx-sys.

Zdroj: opennet.ru

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