Лоиҳаи NGINX маҷмӯи асбобҳоро барои таҳияи модулҳо бо забони Rust нашр кардааст

Таҳиягарони лоиҳаи NGINX асбоби ngx-rust-ро пешниҳод карданд, ки ба шумо имкон медиҳад модулҳо барои сервери http ва прокси бисёрпротоколи NGINX бо забони барномасозии Rust эҷод кунед. Рамзи ngx-rust таҳти литсензияи Apache 2.0 паҳн шудааст ва ҳоло дар бета аст.

Дар аввал, маҷмӯаи асбобҳо ҳамчун лоиҳа барои суръат бахшидан ба таҳияи як шабакаи хидматрасонии мувофиқи Istio барои платформаи Kubernetes, ки дар болои NGINX кор мекунад, таҳия шуда буд. Маҳсулот ҳеҷ гоҳ аз доираи прототип берун нарафт ва дар тӯли якчанд сол рукуд монд, аммо пайвандҳои намунавӣ, ки дар ҷараёни прототип нашр шудаанд, аз ҷониби ҷомеа дар лоиҳаҳои тарафи сеюм барои васеъ кардани имкониятҳои NGINX дар Rust истифода мешуданд.

Пас аз чанд вақт, ба ширкати F5 лозим омад, ки барои NGINX модули махсусгардонидашуда нависад, то хидматҳои худро муҳофизат кунад, ки дар он мехост аз забони Rust истифода барад, то хатари хатогиҳоро ҳангоми кор бо хотира коҳиш диҳад. Барои ҳалли мушкилот, муаллифи ngx-rust оварда шуд, ки ба ӯ вазифадор карда шуд, ки асбобҳои нав ва такмилёфта барои эҷоди модулҳо барои NGINX бо забони Rust таҳия кунад.

Маҷмӯаи асбобҳо ду бастаи қуттиҳоро дар бар мегирад:

  • nginx-sys - Генератори ҳатмӣ дар асоси рамзи сарчашмаи NGINX. Утилита рамзи NGINX ва тамоми вобастагии ба он алоқамандро бор мекунад ва сипас bindgen-ро барои эҷод кардани пайвандҳо бар функсияҳои аслӣ (FFI, интерфейси функсияи хориҷӣ) истифода мебарад.
  • ngx - қабат барои дастрасӣ ба функсияҳои C аз рамзи Rust, API ва система барои дубора содироти пайвандҳо бо истифода аз nginx-sys сохта шудааст.

Манбаъ: opennet.ru

Илова Эзоҳ