Dự án NGINX đã xuất bản bộ công cụ phát triển các mô-đun bằng ngôn ngữ Rust

Các nhà phát triển dự án NGINX đã trình bày bộ công cụ ngx-rust, cho phép bạn tạo các mô-đun cho máy chủ http và proxy đa giao thức NGINX bằng ngôn ngữ lập trình Rust. Mã ngx-rust được phân phối theo giấy phép Apache 2.0 và hiện đang ở giai đoạn thử nghiệm.

Ban đầu, bộ công cụ này được phát triển như một dự án nhằm đẩy nhanh quá trình phát triển lưới Dịch vụ tương thích với Istio cho nền tảng Kubernetes chạy trên NGINX. Sản phẩm chưa bao giờ vượt quá nguyên mẫu và bị trì trệ trong vài năm, nhưng các ràng buộc mẫu được xuất bản trong quá trình nguyên mẫu đã được cộng đồng sử dụng trong các dự án của bên thứ ba để mở rộng khả năng của NGINX trong Rust.

Sau một thời gian, công ty F5 cần viết một mô-đun chuyên dụng cho NGINX để bảo vệ các dịch vụ của mình, trong đó họ muốn sử dụng ngôn ngữ Rust để giảm nguy cơ xảy ra lỗi khi làm việc với bộ nhớ. Để giải quyết vấn đề, tác giả của ngx-rust đã được mời đến, người được giao nhiệm vụ phát triển các công cụ mới và cải tiến để tạo mô-đun cho NGINX bằng ngôn ngữ Rust.

Bộ công cụ bao gồm hai gói thùng:

  • nginx-sys - Trình tạo liên kết dựa trên mã nguồn NGINX. Tiện ích tải mã NGINX và tất cả các phần phụ thuộc liên quan của nó, sau đó sử dụng bindgen để tạo các liên kết trên các hàm ban đầu (FFI, giao diện hàm nước ngoài).
  • ngx - một lớp để truy cập các hàm C từ mã Rust, API và hệ thống tái xuất các liên kết được tạo bằng nginx-sys.

Nguồn: opennet.ru

Thêm một lời nhận xét