Az NGINX projekt kiadta a modulok Rust nyelven történő fejlesztéséhez szükséges eszközkészletet.

Az NGINX projekt fejlesztői bemutatták az ngx-rust eszközkészletet, amely lehetővé teszi a Rust programozási nyelv használatával készülő modulok létrehozását az NGINX HTTP szerverhez és a sokprotokollos proxyhoz. Az ngx-rust kódja Apache 2.0 licensz alatt terjesztett és jelenleg béta verzióban érhető el.

A kezdeti időszakban az eszközkészlet az Istio-kompatibilis szolgáltatásmesh fejlesztésére irányuló projektként fejlődött a Kubernetes platformon, amely az NGINX fölött működött. A termék nem lépte át a prototípus szintjét, és több évig stagnált, de a prototípus készítése során közzétett példa megoldásokat a közösség felhasználta harmadik fél projekteken az NGINX Rust alapú képességeinek bővítésére.

Néhány idő elteltével az F5 vállalatnak szüksége volt egy speciális NGINX modul írására a szolgáltatásaik védelme érdekében, amelyben szeretnék használni a Rust nyelvet a memória kezelésével kapcsolatos hibák kockázatának csökkentésére. A feladat megoldására az ngx-rust szerzőjét vonták be, akinek az volt a feladata, hogy kidolgozzon egy új és továbbfejlesztett eszközkészletet modulok létrehozásához az NGINX-hez Rust nyelven.

Az eszközkészlet két crate csomagot tartalmaz:

  • nginx-sys — a NGINX forráskódja alapján generált kötések készítője. Az eszköz betölti a NGINX kódját és minden kapcsolódó függőséget, majd a bindgen-t használja az eredeti funkciókhoz (FFI, foreign function interface) tartozó kötések létrehozásához.
  • ngx — egy réteg, amely lehetővé teszi a C funkciók elérését Rust kódból, API-t és a nginx-sys által létrehozott kötések újraexportálási rendszerét.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster