เป‚เบ„เบ‡เบเบฒเบ™ NGINX เป„เบ”เป‰เป€เบœเบตเบเปเบœเปˆเบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบกเบ”เบนเบ™เปƒเบ™เบžเบฒเบชเบฒ Rust

ะ ะฐะทั€ะฐะฑะพั‚ั‡ะธะบะธ ะฟั€ะพะตะบั‚ะฐ 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

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™