Le projet NGINX a publié un ensemble d'outils pour le développement de modules en Rust.

Les développeurs du projet NGINX ont présenté l'outil ngx-rust, permettant de créer des modules pour le serveur http et le proxy multiprotocole NGINX en langage de programmation Rust. Le code de ngx-rust est distribué sous la licence Apache 2.0 et est actuellement en version bêta.

À l'origine, cet outil a été développé comme un projet pour promouvoir le développement d'une Service Mesh compatible avec Istio pour la plateforme Kubernetes, fonctionnant au-dessus de NGINX. Le produit n'a pas dépassé le stade de prototype et est resté en stagnation pendant plusieurs années, mais les exemples de bindings publiés au cours de la création du prototype ont été utilisés par la communauté dans des projets tiers pour étendre les capacités de NGINX en Rust.

Après un certain temps, l'entreprise F5 avait besoin de créer un module spécialisé pour NGINX afin de protéger ses services, dans lequel elle souhaitait utiliser le langage Rust pour réduire le risque d'erreurs liées à la gestion de la mémoire. Pour résoudre cette tâche, l'auteur de ngx-rust a été engagé pour développer un nouvel outil amélioré pour la création de modules pour NGINX en Rust.

L'outil comprend deux paquets crate :

  • nginx-sys — générateur de bindings basé sur le code source de NGINX. L'outil charge le code de NGINX et toutes ses dépendances, puis utilise bindgen pour créer des wrappers autour des fonctions originales (FFI, foreign function interface).
  • ngx — une couche d'accès aux fonctions C depuis le code Rust, API et système de réexportation des wrappers créés à l'aide de nginx-sys.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster