Das NGINX-Projekt hat ein Toolkit zur Entwicklung von Modulen in der Programmiersprache Rust veröffentlicht.

Die Entwickler des NGINX-Projekts haben das Werkzeug ngx-rust vorgestellt, das es ermöglicht, Module für den HTTP-Server und den Multi-Protokoll-Proxy NGINX in der Programmiersprache Rust zu erstellen. Der Code von ngx-rust wird unter der Apache 2.0-Lizenz veröffentlicht und befindet sich derzeit in der Beta-Phase.

Ursprünglich wurde das Werkzeug als Projekt zur Förderung der Entwicklung eines Istio-kompatiblen Service Mesh für die Kubernetes-Plattform entwickelt, das auf NGINX aufbaut. Das Produkt hat nicht über das Prototyp-Stadium hinaus den Rahmen verlassen und war mehrere Jahre lang stagnierend, aber die während der Prototypenerstellung veröffentlichten Beispielanpassungen wurden von der Community in Drittprojekten genutzt, um die Möglichkeiten von NGINX in der Sprache Rust zu erweitern.

Nach einer Weile benötigte die Firma F5 die Entwicklung eines speziellen Moduls für NGINX, um ihre Dienste zu schützen, wobei die Programmiersprache Rust verwendet werden sollte, um das Risiko von Fehlern im Umgang mit dem Speicher zu verringern. Zu diesem Zweck wurde der Autor von ngx-rust hinzugezogen, dem die Aufgabe übertragen wurde, ein neues und verbessertes Werkzeug zur Erstellung von NGINX-Modulen in Rust zu entwickeln.

Das Werkzeug umfasst zwei crate-Pakete:

  • nginx-sys — ein Bindungsgenerator basierend auf den Quelltexten von NGINX. Das Tool lädt den NGINX-Code und alle verwandten Abhängigkeiten und verwendet danach bindgen, um Bindungen über die Originalfunktionen (FFI, foreign function interface) zu erstellen.
  • ngx — eine Schicht für den Zugriff auf C-Funktionen aus Rust-Code, API und ein System zur Re-Exportierung von Bindungen, die mit nginx-sys erstellt wurden.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster