Проект NGINX опубликовал инструментарий для разработки модулей на языке Rust

Автор Сообщение
news_bot ®

Стаж: 6 лет 3 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
13-Окт-2023 13:48

Разработчики проекта NGINX представили инструментарий
ngx-rust, позволяющий создавать модули к http-серверу и многопротокольному прокси NGINX на языке программирования Rust. Код ngx-rust распространяется под лицензией Apache 2.0 и пока находится в состоянии бета-версии.
Изначально инструментарий развивался как проект для форсирования разработки Istio-совместимого Service mesh для платформы Kubernetes, работающего поверх NGINX. Продукт не вышел за рамки прототипа и несколько лет находился в стагнации, но опубликованные в процессе создания прототипа примеры привязок были использованы сообществом в сторонних проектах для расширения возможностей NGINX на языке Rust.
Через какое-то время компании F5 потребовалось написание специализированного модуля к NGINX для защиты своих сервисов, в котором хотелось использовать язык Rust для снижения риска ошибок при работе с памятью. Для решения задачи был привлечён автор ngx-rust, которому было поручено разработать новый и улучшенный инструментарий для создания модулей к NGINX на языке Rust.
Инструментарий включает два crate-пакета:
  • nginx-sys - генератор привязок на основе исходных текстов NGINX. Утилита загружает код NGINX и все связанные с ним зависимости, после чего использует bindgen для формирования обвязок над оригинальными функциями (FFI, foreign function interface).
  • ngx - прослойка для обращения к Си-функциям из кода Rust, API и система реэкспорта обвязок, созданных при помощи nginx-sys.

===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_nginx, #_rust
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 11-Май 22:20
Часовой пояс: UTC + 5