NGINX долбоору Rust тилинде модулдарды иштеп чыгуу үчүн инструменттерди чыгарды

NGINX долбоорунун иштеп чыгуучулары Rust программалоо тилинде http сервери жана NGINX мультипротоколдук прокси үчүн модулдарды түзүүгө мүмкүндүк берген ngx-rust инструменттерин сунушташты. ngx-rust коду Apache 2.0 лицензиясы боюнча таратылган жана учурда бета версиясында.

Башында, инструменталдык комплект NGINX үстүндө иштеген Kubernetes платформасы үчүн Istio-шайкеш Кызматтык торду иштеп чыгууну тездетүү үчүн долбоор катары иштелип чыккан. Прототип эч качан прототиптин чегинен чыккан эмес жана бир нече жыл бою токтоп калган, бирок прототип процессинде жарыяланган тиркемелерди коомчулук үчүнчү тараптын долбоорлорунда Rust NGINX мүмкүнчүлүктөрүн кеңейтүү үчүн колдонгон.

Бир нече убакыт өткөндөн кийин, F5 компаниясы эс менен иштөөдө каталардын коркунучун азайтуу үчүн Rust тилин колдонууну каалаган кызматтарын коргоо үчүн NGINX үчүн адистештирилген модулду жазууга туура келди. Көйгөйдү чечүү үчүн ngx-rust автору алынып келинди, ага Rust тилинде NGINX үчүн модулдарды түзүү үчүн жаңы жана өркүндөтүлгөн куралдарды иштеп чыгуу тапшырылды.

Куралдар топтому эки куту пакетин камтыйт:

  • nginx-sys - NGINX баштапкы кодунун негизинде бириктирүүчү генератор. Утилита NGINX кодун жана ага байланышкан бардык көз карандылыктарды жүктөйт, андан кийин түпнуска функциялардын (FFI, чет өлкөлүк функция интерфейси) үстүнөн байланыштарды түзүү үчүн bindgen колдонот.
  • ngx - Rust кодунан C функцияларына жетүү үчүн катмар, API жана nginx-sys аркылуу түзүлгөн байланыштарды реэкспорттоо системасы.

Source: opennet.ru

Комментарий кошуу