Proiectul NGINX a publicat un instrumentar pentru dezvoltarea modulelor în limbajul Rust.

Dezvoltatorii proiectului NGINX au prezentat un instrument numit ngx-rust, care permite crearea de module pentru serverul http și proxy-ul multiprotocol NGINX folosind limbajul de programare Rust. Codul ngx-rust este distribuit sub licența Apache 2.0 și se află momentan în versiune beta.

Inițial, instrumentul a fost dezvoltat ca un proiect pentru accelerarea dezvoltării unui Service mesh compatibil cu Istio pentru platforma Kubernetes, funcționând pe baza NGINX. Produsul nu a depășit stadiul de prototip și a rămas în stagnare timp de câțiva ani, însă exemplele publicate în timpul creării prototipului au fost utilizate de comunitate în proiecte externe pentru a extinde capabilitățile NGINX în limbajul Rust.

După o perioadă, compania F5 a avut nevoie de scrierea unui modul specializat pentru NGINX pentru a proteja serviciile sale, în care dorea să folosească limbajul Rust pentru a reduce riscul de erori legate de memorie. Pentru a rezolva problema, a fost implicat autorul ngx-rust, căruia i s-a încredințat sarcina de a dezvolta un instrument nou și îmbunătățit pentru crearea modulelor pentru NGINX în limbajul Rust.

Instrumentul include două pachete crate:

  • nginx-sys — un generator de legături bazat pe codul sursă NGINX. Utilitarul încarcă codul NGINX și toate dependențele sale asociate, după care utilizează bindgen pentru a crea legături pentru funcțiile originale (FFI, foreign function interface).
  • ngx — un strat pentru a accesa funcțiile C din codul Rust, API-ul și sistemul de re-exportare a legăturilor create cu ajutorul nginx-sys.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster