Projekt NGINX je objavil komplet orodij za razvoj modulov v jeziku Rust

Razvijalci projekta NGINX so predstavili komplet orodij ngx-rust, ki omogoča ustvarjanje modulov za http strežnik in večprotokolni proxy NGINX v programskem jeziku Rust. Koda ngx-rust se distribuira pod licenco Apache 2.0 in je trenutno v različici beta.

Sprva je bil komplet orodij razvit kot projekt za pospešitev razvoja storitvenega omrežja, združljivega z Istio, za platformo Kubernetes, ki deluje na vrhu NGINX. Izdelek nikoli ni presegel prototipa in je nekaj let stagniral, vendar je skupnost uporabila primere vezav, objavljene med postopkom prototipa, v projektih tretjih oseb za razširitev zmogljivosti NGINX v Rustu.

Čez nekaj časa je podjetje F5 moralo napisati specializiran modul za NGINX za zaščito svojih storitev, v katerem je želelo uporabiti jezik Rust za zmanjšanje tveganja napak pri delu s pomnilnikom. Za rešitev problema je bil vključen avtor ngx-rust, ki je bil zadolžen za razvoj novih in izboljšanih orodij za ustvarjanje modulov za NGINX v jeziku Rust.

Komplet orodij vključuje dva paketa zabojev:

  • nginx-sys - Generator vezave, ki temelji na izvorni kodi NGINX. Pripomoček naloži kodo NGINX in vse z njo povezane odvisnosti, nato pa uporabi bindgen za ustvarjanje vezav nad izvirnimi funkcijami (FFI, tuji funkcijski vmesnik).
  • ngx - sloj za dostop do funkcij C iz kode Rust, API in sistem za ponovni izvoz vezav, ustvarjenih z uporabo nginx-sys.

Vir: opennet.ru

Dodaj komentar