NGINX жобасы Rust тілінде модульдерді әзірлеуге арналған құралдар жинағын шығарды

NGINX жобасын әзірлеушілер NGINX http сервері және Rust бағдарламалау тілінде көп протоколды прокси үшін модульдер жасауға мүмкіндік беретін ngx-rust құралдар жинағын ұсынды. ngx-rust коды Apache 2.0 лицензиясы бойынша таратылады және қазір бета нұсқасында.

Бастапқыда құралдар жинағы NGINX үстінде жұмыс істейтін Kubernetes платформасы үшін Istio-үйлесімді қызмет торын әзірлеуді жеделдету жобасы ретінде әзірленді. Өнім ешқашан прототиптен асып кетпеді және бірнеше жыл бойы тоқырауға ұшырады, бірақ прототип процесінде жарияланған үлгі байламдарын қауымдастық Rust-тағы NGINX мүмкіндіктерін кеңейту үшін үшінші тарап жобаларында пайдаланды.

Біраз уақыттан кейін F5 компаниясы өз қызметтерін қорғау үшін NGINX үшін арнайы модуль жазуы керек болды, онда ол жадпен жұмыс кезінде қателер қаупін азайту үшін Rust тілін пайдаланғысы келді. Мәселені шешу үшін ngx-rust авторы әкелінді, оған Rust тілінде NGINX модульдерін жасау үшін жаңа және жетілдірілген құралдарды әзірлеу тапсырылды.

Құралдар жинағы екі жәшік бумасын қамтиды:

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

Ақпарат көзі: opennet.ru

пікір қалдыру