NGINX-projekti on julkaissut työkalupakin moduulien kehittämiseen Rust-kielellä

NGINX-projektin kehittäjät esittelivät ngx-rust-työkalupakin, jonka avulla voit luoda moduuleja NGINX http-palvelimelle ja moniprotokollavälityspalvelimelle Rust-ohjelmointikielellä. Ngx-rust-koodia jaetaan Apache 2.0 -lisenssillä ja se on tällä hetkellä beta-vaiheessa.

Alun perin työkalupakki kehitettiin projektiksi nopeuttamaan Istio-yhteensopivan palveluverkon kehitystä Kubernetes-alustalle, joka toimii NGINX:n päällä. Tuote ei koskaan mennyt prototyyppiä pidemmälle ja pysähtyi useita vuosia, mutta yhteisö käytti prototyyppiprosessin aikana julkaistuja esimerkkisidoksia kolmansien osapuolien projekteissa laajentaakseen NGINX:n ominaisuuksia Rustissa.

Jonkin ajan kuluttua F5-yrityksen piti kirjoittaa NGINX:lle erikoistunut moduuli suojellakseen palveluitaan, jossa se halusi käyttää Rust-kieltä vähentääkseen virheriskiä muistin kanssa työskennellessään. Ongelman ratkaisemiseksi otettiin mukaan ngx-rustin kirjoittaja, joka sai tehtäväkseen kehittää uusia ja parannettuja työkaluja NGINX-moduulien luomiseen Rust-kielellä.

Työkalupakkaus sisältää kaksi laatikkopakettia:

  • nginx-sys - NGINX-lähdekoodiin perustuva sidontageneraattori. Apuohjelma lataa NGINX-koodin ja kaikki siihen liittyvät riippuvuudet ja käyttää sitten bindgeniä luodakseen sidoksia alkuperäisten funktioiden päälle (FFI, vierasfunktiorajapinta).
  • ngx - kerros C-toimintoihin pääsyä varten Rust-koodista, API ja järjestelmä nginx-sys:llä luotujen sidosten uudelleen vientiä varten.

Lähde: opennet.ru

Lisää kommentti