NGINX-prosjektet har publisert et verktøysett for å utvikle moduler i Rust-språket

Utviklerne av NGINX-prosjektet presenterte ngx-rust-verktøysettet, som lar deg lage moduler for NGINX http-serveren og multiprotokollproxy i Rust-programmeringsspråket. ngx-rust-koden er distribuert under Apache 2.0-lisensen og er for øyeblikket i beta.

Opprinnelig ble verktøysettet utviklet som et prosjekt for å akselerere utviklingen av et Istio-kompatibelt Service-nettverk for Kubernetes-plattformen som kjører på toppen av NGINX. Produktet gikk aldri utover prototypen og stagnerte i flere år, men eksempelbindingene publisert under prototypeprosessen ble brukt av fellesskapet i tredjepartsprosjekter for å utvide mulighetene til NGINX i Rust.

Etter en tid trengte F5-selskapet å skrive en spesialisert modul for NGINX for å beskytte tjenestene sine, der de ønsket å bruke Rust-språket for å redusere risikoen for feil ved arbeid med minne. For å løse problemet ble forfatteren av ngx-rust hentet inn, som fikk i oppgave å utvikle nye og forbedrede verktøy for å lage moduler for NGINX på Rust-språket.

Verktøysettet inneholder to kassepakker:

  • nginx-sys - Bindingsgenerator basert på NGINX kildekode. Verktøyet laster inn NGINX-koden og alle dens tilknyttede avhengigheter, og bruker deretter bindgen til å lage bindinger over de originale funksjonene (FFI, utenlandsk funksjonsgrensesnitt).
  • ngx - et lag for tilgang til C-funksjoner fra Rust-kode, en API og et system for re-eksport av bindinger opprettet ved hjelp av nginx-sys.

Kilde: opennet.ru

Legg til en kommentar