NGINX 專案發布了一個用於使用 Rust 語言開發模組的工具包

NGINX 專案的開發人員推出了 ngx-rust 工具包,它允許您使用 Rust 程式語言為 NGINX http 伺服器和多協定代理程式建立模組。 ngx-rust 程式碼在 Apache 2.0 授權下分發,目前處於測試階段。

最初,該工具包是作為一個專案開發的,旨在加速在 NGINX 之上運行的 Kubernetes 平台開發與 Istio 相容的服務網格。 該產品從未超越原型並停滯了好幾年,但在原型過程中發布的範例綁定被社群在第三方專案中使用,以擴展 NGINX 在 Rust 中的功能。

一段時間後,F5 公司需要為 NGINX 編寫一個專門的模組來保護其服務,其中它希望使用 Rust 語言來降低使用記憶體時出錯的風險。 為了解決這個問題,引入了 ngx-rust 的作者,他的任務是開發新的和改進的工具,用於用 Rust 語言為 NGINX 創建模組。

該工具包包括兩個 crate 包:

  • nginx-sys - 基於 NGINX 原始碼的綁定產生器。 此實用程式會載入NGINX程式碼及其所有關聯的依賴項,然後使用bindgen在原始函數(FFI,外部函數介面)上建立綁定。
  • ngx - 用於從 Rust 程式碼存取 C 函數的層、一個 API 和一個用於重新匯出使用 nginx-sys 建立的綁定的系統。

來源: opennet.ru

添加評論