O projeto NGINX publicou um kit de ferramentas para desenvolvimento de módulos na linguagem Rust

Os desenvolvedores do projeto NGINX apresentaram o kit de ferramentas ngx-rust, que permite criar módulos para o servidor http e o proxy multiprotocolo NGINX na linguagem de programação Rust. O código ngx-rust é distribuído sob a licença Apache 2.0 e está atualmente em beta.

Inicialmente, o kit de ferramentas foi desenvolvido como um projeto para acelerar o desenvolvimento de uma malha de serviço compatível com Istio para a plataforma Kubernetes executada no NGINX. O produto nunca foi além do protótipo e estagnou por vários anos, mas as ligações de exemplo publicadas durante o processo de protótipo foram usadas pela comunidade em projetos de terceiros para estender os recursos do NGINX em Rust.

Depois de algum tempo, a empresa F5 precisou escrever um módulo especializado para NGINX para proteger seus serviços, no qual queria utilizar a linguagem Rust para reduzir o risco de erros ao trabalhar com memória. Para resolver o problema, foi contratado o autor do ngx-rust, que foi encarregado de desenvolver ferramentas novas e aprimoradas para a criação de módulos para NGINX na linguagem Rust.

O kit de ferramentas inclui dois pacotes de caixas:

  • nginx-sys - Gerador de ligação baseado no código-fonte NGINX. O utilitário carrega o código NGINX e todas as suas dependências associadas e, em seguida, usa bindgen para criar ligações sobre as funções originais (FFI, interface de função externa).
  • ngx - uma camada para acessar funções C do código Rust, uma API e um sistema para reexportar ligações criadas usando nginx-sys.

Fonte: opennet.ru

Adicionar um comentário