Het NGINX-project heeft een toolkit gepubliceerd voor het ontwikkelen van modules in de programmeertaal Rust

De ontwikkelaars van het NGINX-project hebben de ngx-rust toolkit gepresenteerd, waarmee modules voor de http-server en de multiprotocol proxy NGINX kunnen worden gemaakt in de programmeertaal Rust. De code van ngx-rust wordt verspreid onder de Apache 2.0-licentie en bevindt zich momenteel in de bĆØtafase.

Oorspronkelijk werd de toolkit ontwikkeld als een project om de ontwikkeling van een Istio-compatibele service mesh voor het Kubernetes-platform te versnellen, werkend bovenop NGINX. Het product heeft nooit meer bereikt dan een prototype en heeft enkele jaren in stagnatie doorgebracht, maar de voorbeelden van bindingen die tijdens het creƫren van het prototype zijn gepubliceerd, zijn door de gemeenschap gebruikt in externe projecten om de mogelijkheden van NGINX met de programmeertaal Rust uit te breiden.

Na enige tijd had het bedrijf F5 behoefte aan het schrijven van een gespecialiseerde module voor NGINX ter bescherming van zijn services, waarin ze de programmeertaal Rust wilden gebruiken om het risico van geheugenfouten te verminderen. Voor deze taak werd de auteur van ngx-rust ingeschakeld, die de opdracht kreeg om een nieuwe en verbeterde toolkit te ontwikkelen voor het maken van modules voor NGINX met de programmeertaal Rust.

De toolkit omvat twee crate-pakketten:

  • nginx-sys — een generator voor bindingen op basis van de bronbestanden van NGINX. De tool laadt de code van NGINX en alle bijbehorende afhankelijkheden, waarna bindgen wordt gebruikt om bindingen bovenop de originele functies te creĆ«ren (FFI, foreign function interface).
  • ngx — een laag voor het aanroepen van C-functies vanuit Rust-code, API en een systeem voor het herexporteren van bindingen die zijn gemaakt met nginx-sys.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster