Cloudflare ืขื‘ืจื” ืž-NGINX ืœืคืจื•ืงืกื™ Pingora ืžืฉืœื”, ืฉื ื›ืชื‘ ื‘-Rust

Cloudflare ื”ื›ืจื™ื–ื” ืขืœ ื”ืžืขื‘ืจ ืฉืœ ืจืฉืช ืืกืคืงืช ื”ืชื•ื›ืŸ ืฉืœื” ืœืฉื™ืžื•ืฉ ื‘ืคืจื•ืงืกื™ Pingora, ืฉื ื›ืชื‘ ื‘ืฉืคืช Rust. ื”-proxy ื”ื—ื“ืฉ ืžื—ืœื™ืฃ ืืช ื”ืชืฆื•ืจื” ืžื‘ื•ืกืกืช ืฉืจืช NGINX ื‘ืกืงืจื™ืคื˜ื™ื ืฉืœ Lua, ื•ืžืขื‘ื“ ื™ื•ืชืจ ืžื˜ืจื™ืœื™ื•ืŸ ื‘ืงืฉื•ืช ื‘ื™ื•ื. ื™ืฆื•ื™ืŸ ื›ื™ ื”ืžืขื‘ืจ ืœ-proxy ืžื™ื•ื—ื“ ืื™ืคืฉืจ ืœื ืจืง ืœื™ื™ืฉื ืชื›ื•ื ื•ืช ื—ื“ืฉื•ืช ื•ืœื”ื’ื‘ื™ืจ ืืช ื”ืื‘ื˜ื—ื” ืขืงื‘ ืชืคืขื•ืœ ื‘ื˜ื•ื— ืฉืœ ื”ื–ื™ื›ืจื•ืŸ, ืืœื ื’ื ื”ื•ื‘ื™ืœ ืœืขืœื™ื™ื” ืžืฉืžืขื•ืชื™ืช ื‘ื‘ื™ืฆื•ืขื™ื ื•ื‘ื—ื™ืกื›ื•ืŸ ื‘ืžืฉืื‘ื™ื - ื”ืคืชืจื•ืŸ ืžื‘ื•ืกืก Pingora ืื™ื ื• ืžืฆืจื™ืš ืฉื™ืžื•ืฉ ืฉืœ Lua, ื•ืœื›ืŸ ืฆื•ืจืš 70% ืคื—ื•ืช ืžืฉืื‘ื™ื CPU ื•-67% ืคื—ื•ืช ื–ื™ื›ืจื•ืŸ ืชื•ืš ืขื™ื‘ื•ื“ ืื•ืชื” ื›ืžื•ืช ืชืขื‘ื•ืจื”.

ื‘ืžืฉืš ืชืงื•ืคื” ืืจื•ื›ื”, ืžืขืจื›ืช ืœื”ืขื‘ืจืช ืคืจื•ืงืกื™ ืชืขื‘ื•ืจื” ื‘ื™ืŸ ืžืฉืชืžืฉื™ื ื•ืฉืจืชื™ ืงืฆื” ื”ืžื‘ื•ืกืกืช ืขืœ ืกืงืจื™ืคื˜ื™ื ืฉืœ NGINX ื•-Lua ืกื™ืคืงื” ืืช ื”ืฆืจื›ื™ื ืฉืœ Cloudflare, ืืš ื›ื›ืœ ืฉื”ืจืฉืช ื’ื“ืœื” ื•ื”ืžื•ืจื›ื‘ื•ืช ืฉืœื” ื’ื“ืœื”, ืคืชืจื•ืŸ ืื•ื ื™ื‘ืจืกืœื™ ื”ืชื‘ืจืจ ื›ืœื ืžืกืคื™ืง, ื”ืŸ ืžื‘ื—ื™ื ืช ื‘ื™ืฆื•ืขื™ื ื•ื‘ืฉืœ ืžื’ื‘ืœื•ืช ื‘ื”ืจื—ื‘ื” ื•ื™ื™ืฉื•ื ืฉืœ ื”ื–ื“ืžื ื•ื™ื•ืช ื—ื“ืฉื•ืช ืขื‘ื•ืจ ืœืงื•ื—ื•ืช. ื‘ืคืจื˜, ื”ื™ื• ืืชื’ืจื™ื ื‘ื”ื•ืกืคืช ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืžืขื‘ืจ ืœืฉืขืจ ืคืฉื•ื˜ ื•ืžืื–ืŸ ืขื•ืžืกื™ื. ืœื“ื•ื’ืžื”, ื”ื™ื” ืฆื•ืจืš, ืื ื”ืฉืจืช ืœื ืžืฆืœื™ื— ืœืขื‘ื“ ื‘ืงืฉื”, ืœืฉืœื•ื— ืžื—ื“ืฉ ืืช ื”ื‘ืงืฉื” ืœืฉืจืช ืื—ืจ, ื•ืœืกืคืง ืœื• ืงื‘ื•ืฆื” ืื—ืจืช ืฉืœ ื›ื•ืชืจื•ืช HTTP.

ื‘ืžืงื•ื ืืจื›ื™ื˜ืงื˜ื•ืจื” ืฉืžืคืจื™ื“ื” ื‘ืงืฉื•ืช ืœืชื”ืœื™ื›ื™ ืขื‘ื•ื“ื” ื ืคืจื“ื™ื, Pingora ืžืฉืชืžืฉืช ื‘ืžื•ื“ืœ ืžืจื•ื‘ื” ื”ืœื™ื›ื™, ืฉื‘ืžืงืจื™ ืฉื™ืžื•ืฉ ื‘-Cloudflare (ืจื™ื›ื•ื– ื’ื‘ื•ื” ืฉืœ ืชืขื‘ื•ืจื” ืžืืชืจื™ื ืฉื•ื ื™ื ืขื ืฉื™ื ื•ื™ ืกื˜ื˜ื™ืกื˜ื™ ื’ื“ื•ืœ) ื”ืจืื” ื—ืœื•ืงื” ื™ืขื™ืœื” ื™ื•ืชืจ ืฉืœ ืžืฉืื‘ื™ื ื‘ื™ืŸ ืœื™ื‘ื•ืช ื”ืžืขื‘ื“. ื‘ืคืจื˜, ื”ื›ืจื™ื›ื” ืฉืœ nginx ืฉืœ ื‘ืงืฉื•ืช ืœื ืžืื•ื–ื ื•ืช ืœืชื”ืœื™ื›ื™ื ื’ืจืžื” ืœืขื•ืžืก ืœื ืžืื•ื–ืŸ ืขืœ ืœื™ื‘ื•ืช ื”ืžืขื‘ื“, ื•ื›ืชื•ืฆืื” ืžื›ืš ื‘ืงืฉื•ืช ืขืชื™ืจื•ืช ืžืฉืื‘ื™ื ื•ื—ืกื™ืžืช I/O ื”ืื˜ื” ืืช ื”ืขื™ื‘ื•ื“ ืฉืœ ื‘ืงืฉื•ืช ืื—ืจื•ืช. ื‘ื ื•ืกืฃ, ืงืฉื™ืจืช ืžืื’ืจ ื”ื—ื™ื‘ื•ืจื™ื ืœืชื”ืœื™ื›ื™ ืžื˜ืคืœ ืœื ืืคืฉืจื” ืฉื™ืžื•ืฉ ื—ื•ื–ืจ ื‘ื—ื™ื‘ื•ืจื™ื ืฉื›ื‘ืจ ื ื•ืฆืจื• ืžืชื”ืœื™ื›ื™ ืžื˜ืคืœ ืื—ืจื™ื, ืžื” ืฉืžืคื—ื™ืช ืืช ื”ื™ืขื™ืœื•ืช ื›ืืฉืจ ื™ืฉ ืžืกืคืจ ืจื‘ ืฉืœ ืชื”ืœื™ื›ื™ ืžื˜ืคืœ.

NGINX:

Cloudflare ืขื‘ืจื” ืž-NGINX ืœืคืจื•ืงืกื™ Pingora ืžืฉืœื”, ืฉื ื›ืชื‘ ื‘-Rust

ืคื™ื ื’ื•ืจื”:

Cloudflare ืขื‘ืจื” ืž-NGINX ืœืคืจื•ืงืกื™ Pingora ืžืฉืœื”, ืฉื ื›ืชื‘ ื‘-Rust

ื”ื˜ืžืขืช Pingora ืืคืฉืจื” ืœื”ืคื—ื™ืช ืคื™ 160 ืืช ืžืกืคืจ ื”ื”ืชืงื ื•ืช ืฉืœ ื—ื™ื‘ื•ืจื™ื ื—ื“ืฉื™ื ื•ืœื”ื’ื“ื™ืœ ืืช ื ืชื— ื”ืฉืื™ืœืชื•ืช ื‘ืฉื™ืžื•ืฉ ื—ื•ื–ืจ ืž-87.1% ืœ-99.92%. ื‘ื ื•ืกืฃ ืœื”ืคื—ืชืช ื”ื—ื™ื‘ื•ืจื™ื ืžื—ื“ืฉ ื•ืฉื™ืžื•ืฉ ื™ืขื™ืœ ื™ื•ืชืจ ื‘ืœื™ื‘ื•ืช ื”-CPU, ืฉื™ืคื•ืจ ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ื”-proxy ื”ื—ื“ืฉ ื ื‘ืข ื‘ืขื™ืงืจ ืžื”ืกืจื” ืฉืœ ืžื˜ืคืœื™ Lua ืื™ื˜ื™ื™ื ื”ืžืฉืžืฉื™ื ืขื nginx.

ืฉืคืช ื”-Rust ื ื‘ื—ืจื” ื›ื“ื™ ืœื”ืฉื™ื’ ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื ื‘ืฉื™ืœื•ื‘ ืขื ื–ืžื™ื ื•ืช ื”ื›ืœื™ื ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืคืขื•ืœื” ื‘ื˜ื•ื—ื” ืขื ื–ื™ื›ืจื•ืŸ. ืžื•ื–ื›ืจ ืฉืœืžืจื•ืช ื”ืžื”ื ื“ืกื™ื ื”ืžื•ื›ืฉืจื™ื ืฉืœ Cloudflare ื•ื‘ื“ื™ืงืช ื”ืงื•ื“ ืฉื ื›ืชื‘ ื‘ืฉืคืช C, ืœื ื ื™ืชืŸ ื”ื™ื” ืœื”ื™ืžื ืข ืžืฉื’ื™ืื•ืช ื”ืžื•ื‘ื™ืœื•ืช ืœื‘ืขื™ื•ืช ื–ื™ื›ืจื•ืŸ (ืœืžืฉืœ, ืคื’ื™ืขื•ืช ื‘ืžื ืชื— HTML). ื‘ืืฉืจ ืœืงื•ื“ ื”ื—ื“ืฉ, ื”ื•ื ืžื“ื‘ืจ ืขืœ ืžืงืจื™ื ืฉืœ ื ื™ืชื•ื— ื›ืฉืœื™ื ื‘-Pingora, ืืฉืจ ื”ืชื‘ืจืจ ื›ื™ ื ื’ืจืžื• ืœื ืžื‘ืขื™ื•ืช ื‘ืืคืœื™ืงืฆื™ื”, ืืœื ืžืฉื’ื™ืื” ื‘ืงืจื ืœ ื”ืœื™ื ื•ืงืก ื•ืชืงืœื•ืช ื—ื•ืžืจื”.

ื‘ื ื•ืกืฃ, ืื ื• ื™ื›ื•ืœื™ื ืœืฆื™ื™ืŸ ืืช ื”ืคืจืฉื ื•ืช ืฉืœ ืœื™ื ื•ืก ื˜ื•ืจื•ื•ืืœื“ืก, ืฉื”ื•ืฉืžืขื” ื‘ื•ื•ืขื™ื“ืช ื”ืงื•ื“ ื”ืคืชื•ื— ืฉืœ Summit Europe ื”ืžืชืงื™ื™ืžืช ื‘ื™ืžื™ื ืืœื”, ืœื’ื‘ื™ ื”ื›ืœืœืช ืชืžื™ื›ื” ื‘ืฉืคืช Rust ื‘ืœื™ื‘ืช ืœื™ื ื•ืงืก. ืชื™ืงื•ื ื™ื ืœืคื™ืชื•ื— ืžื ื”ืœื™ ื”ืชืงื ื™ื ื‘ืฉืคืช Rust ืœื ื ื›ืœืœื• ื‘ืงืจื ืœ 6.0, ืื‘ืœ ืœืคื™ Linus, ืกื‘ื™ืจ ืœื”ื ื™ื— ืฉื”ื ื™ืชืงื‘ืœื• ืœืœื™ื‘ื” ืฉืœ 6.1; ื”ื•ื ืœื ืžืชื›ื•ื•ืŸ ืœืขื›ื‘ ืืช ื”ืื™ื ื˜ื’ืจืฆื™ื”. ื›ืžื•ื˜ื™ื‘ืฆื™ื” ืœื”ื•ืกืคืช ืชืžื™ื›ื” ื‘-Rust, ื‘ื ื•ืกืฃ ืœื”ืฉืคืขื” ื”ื—ื™ื•ื‘ื™ืช ืขืœ ื”ืื‘ื˜ื—ื”, ืœื™ื ื•ืก ื’ื ืžื‘ื™ืื” ืืช ื”ื”ื–ื“ืžื ื•ืช ืœื”ื’ื‘ื™ืจ ืืช ื”ืขื ื™ื™ืŸ ื‘ืขื‘ื•ื“ื” ืขืœ ืœื™ื‘ืช ื”ืžืฉืชืชืคื™ื ื”ื—ื“ืฉื™ื, ื“ื‘ืจ ืฉื—ืฉื•ื‘ ื‘ื”ืงืฉืจ ืฉืœ ื”ื–ื“ืงื ื•ืช ื”ื•ื•ืชื™ืงื™ื.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”