Projekt NGINX opublikował narzędzia do tworzenia modułów w języku Rust.

Twórcy projektu NGINX przedstawili zestaw narzędzi ngx-rust, umożliwiający tworzenie modułów dla serwera http oraz wieloprotokołowego proxy NGINX w języku programowania Rust. Kod ngx-rust jest dystrybuowany na licencji Apache 2.0 i obecnie znajduje się w fazie beta.

Początkowo zestaw narzędzi był rozwijany jako projekt mający na celu przyspieszenie opracowania zgodnego z Istio Service mesh dla platformy Kubernetes, działającego na bazie NGINX. Produkt nie wyszedł poza stadium prototypu i przez kilka lat pozostawał w stagnacji, ale opublikowane podczas tworzenia prototypu przykłady powiązań zostały wykorzystane przez społeczność w zewnętrznych projektach do rozszerzenia możliwości NGINX w języku Rust.

Po pewnym czasie firma F5 potrzebowała stworzenia specjalistycznego modułu do NGINX, aby chronić swoje usługi, z zamiarem użycia języka Rust w celu zredukowania ryzyka błędów związanych z zarządzaniem pamięcią. Do rozwiązania tego zadania zaangażowano autora ngx-rust, któremu powierzono opracowanie nowego i ulepszonego zestawu narzędzi do tworzenia modułów do NGINX w języku Rust.

Zestaw narzędzi obejmuje dwa pakiety crate:

  • nginx-sys — generator powiązań na podstawie kodu źródłowego NGINX. Narzędzie ładuje kod NGINX oraz wszystkie związane z nim zależności, a następnie używa bindgen do tworzenia obwiązań nad oryginalnymi funkcjami (FFI, foreign function interface).
  • ngx — warstwa do wywoływania funkcji C z kodu Rust, API oraz system reeksportu powiązań stworzonych za pomocą nginx-sys.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster