NGINX プロジェクトは、Rust 言語でモジュールを開発するためのツールキットを公開しました

NGINX プロジェクトの開発者は、Rust プログラミング言語で NGINX http サーバーとマルチプロトコル プロキシのモジュールを作成できる ngx-rust ツールキットを発表しました。 ngx-rust コードは Apache 2.0 ライセンスに基づいて配布されており、現在はベータ版です。

当初、このツールキットは、NGINX 上で実行される Kubernetes プラットフォーム用の Istio 互換サービス メッシュの開発を加速するプロジェクトとして開発されました。 製品はプロトタイプを超えることはなく、数年間停滞しましたが、プロトタイプのプロセス中に公開されたサンプル バインディングは、Rust の NGINX の機能を拡張するために、サードパーティ プロジェクトのコミュニティによって使用されました。

しばらくして、F5 社は自社のサービスを保護するために NGINX 用の特殊なモジュールを作成する必要が生じ、その中でメモリを操作する際のエラーのリスクを軽減するために Rust 言語を使用したいと考えました。 この問題を解決するために、ngx-rust の作者が招かれ、Rust 言語で NGINX 用のモジュールを作成するための新しく改良されたツールを開発する任務を負うことになりました。

ツールキットには XNUMX つのクレート パッケージが含まれています。

  • nginx-sys - NGINX ソース コードに基づくバインディング ジェネレーター。 このユーティリティは、NGINX コードとそれに関連するすべての依存関係をロードし、bindgen を使用して元の関数 (FFI、外部関数インターフェイス) 上にバインディングを作成します。
  • ngx - Rust コードから C 関数にアクセスするためのレイヤー、API、および nginx-sys を使用して作成されたバインディングを再エクスポートするためのシステム。

出所: オープンネット.ru

コメントを追加します