Projek NGINX telah menerbitkan kit alat untuk membangunkan modul dalam bahasa Rust

Pemaju projek NGINX membentangkan kit alat ngx-rust, yang membolehkan anda mencipta modul untuk pelayan http NGINX dan proksi berbilang protokol dalam bahasa pengaturcaraan Rust. Kod ngx-rust diedarkan di bawah lesen Apache 2.0 dan kini dalam versi beta.

Pada mulanya, kit alat telah dibangunkan sebagai projek untuk mempercepatkan pembangunan mesh Perkhidmatan yang serasi Istio untuk platform Kubernetes yang berjalan di atas NGINX. Produk ini tidak pernah melampaui prototaip dan tidak berubah selama beberapa tahun, tetapi contoh pengikatan yang diterbitkan semasa proses prototaip digunakan oleh komuniti dalam projek pihak ketiga untuk melanjutkan keupayaan NGINX dalam Rust.

Selepas beberapa lama, syarikat F5 perlu menulis modul khusus untuk NGINX untuk melindungi perkhidmatannya, di mana ia ingin menggunakan bahasa Rust untuk mengurangkan risiko ralat apabila bekerja dengan memori. Untuk menyelesaikan masalah, pengarang ngx-rust telah dibawa masuk, yang ditugaskan untuk membangunkan alat baharu dan dipertingkatkan untuk mencipta modul untuk NGINX dalam bahasa Rust.

Kit alat termasuk dua pakej peti:

  • nginx-sys - Penjana pengikat berdasarkan kod sumber NGINX. Utiliti memuatkan kod NGINX dan semua kebergantungan yang berkaitan, dan kemudian menggunakan bindgen untuk mencipta pengikatan ke atas fungsi asal (FFI, antara muka fungsi asing).
  • ngx - lapisan untuk mengakses fungsi C daripada kod Rust, API dan sistem untuk mengeksport semula pengikatan yang dibuat menggunakan nginx-sys.

Sumber: opennet.ru

Tambah komen