Projekt NGINX zveřejnil nástroje pro vývoj modulů v jazyce Rust

Vývojáři projektu NGINX představili nástroj ngx-rust, který umožňuje vytvářet moduly pro http-server a multiprotokolový proxy NGINX v programovacím jazyce Rust. Kód ngx-rust je distribuován pod licencí Apache 2.0 a momentálně se nachází ve fázi beta.

Nástroj byl původně vyvíjen jako projekt pro urychlení vývoje Service mesh kompatibilního s Istio pro platformu Kubernetes, fungující nad NGINX. Produkt však zůstal pouze prototypem a několik let stagnoval, avšak příklady vazeb publikované během procesu vytváření prototypu byly využity komunitou v externích projektech k rozšíření možností NGINX v jazyce Rust.

Po nějaké době společnost F5 potřebovala napsat specializovaný modul pro NGINX na ochranu svých služeb, ve kterém chtěla použít jazyk Rust, aby snížila riziko chyb při práci s pamětí. K řešení úkolu byl přizván autor ngx-rust, který dostal za úkol vyvinout nový a vylepšený nástroj pro vytváření modulů k NGINX v jazyce Rust.

Nástroj zahrnuje dva crate balíčky:

  • nginx-sys — generátor vazeb na základě zdrojových kódů NGINX. Nástroj načítá kód NGINX a všechny na něj navázané závislosti, po čemž používá bindgen k vytvoření vazeb nad originálními funkcemi (FFI, foreign function interface).
  • ngx — mezivrstva pro přístup k C-funkcím z kódu Rust, API a systém pro přeexport vazeb vytvořených pomocí nginx-sys.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster