Proiectul NGINX a publicat un set de instrumente pentru dezvoltarea modulelor în limbajul Rust

Dezvoltatorii proiectului NGINX au prezentat setul de instrumente ngx-rust, care vă permite să creați module pentru serverul http NGINX și proxy multi-protocol în limbajul de programare Rust. Codul ngx-rust este distribuit sub licența Apache 2.0 și este în prezent în versiune beta.

Inițial, setul de instrumente a fost dezvoltat ca un proiect pentru a accelera dezvoltarea unei rețele de servicii compatibile Istio pentru platforma Kubernetes care rulează pe NGINX. Produsul nu a mers niciodată dincolo de prototip și a stagnat timp de câțiva ani, dar exemplele de legături publicate în timpul procesului de prototip au fost folosite de comunitate în proiecte terțe pentru a extinde capacitățile NGINX în Rust.

După ceva timp, compania F5 a trebuit să scrie un modul specializat pentru NGINX pentru a-și proteja serviciile, în care dorea să folosească limbajul Rust pentru a reduce riscul de erori atunci când lucrează cu memorie. Pentru a rezolva problema, a fost adus autorul cărții ngx-rust, care a fost însărcinat cu dezvoltarea unor instrumente noi și îmbunătățite pentru crearea de module pentru NGINX în limbajul Rust.

Setul de instrumente include două pachete de cutii:

  • nginx-sys - Generator de legături bazat pe codul sursă NGINX. Utilitarul încarcă codul NGINX și toate dependențele asociate acestuia, apoi folosește bindgen pentru a crea legături peste funcțiile originale (FFI, interfață de funcție străină).
  • ngx - un strat pentru accesarea funcțiilor C din codul Rust, un API și un sistem de reexportare a legăturilor create folosind nginx-sys.

Sursa: opennet.ru

Cumpărați găzduire de încredere pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără găzduire web fiabilă cu protecție DDoS, servere VPS VDS | ProHoster