Cloudflare ื”ื•ืฆื™ืื” ืืช ื”ืžื”ื“ื•ืจื” ื”ืฆื™ื‘ื•ืจื™ืช ื”ืจืืฉื•ื ื” ืฉืœ Pingora v0.1.0

Cloudflare ื”ื•ืฆื™ืื” ืืช ื”ืžื”ื“ื•ืจื” ื”ืฆื™ื‘ื•ืจื™ืช ื”ืจืืฉื•ื ื” ืฉืœ Pingora v0.1.0

ื‘-5 ื‘ืืคืจื™ืœ 2024, Cloudflare ื”ืฆื™ื’ื” ืืช ื”ืžื”ื“ื•ืจื” ื”ืคื•ืžื‘ื™ืช ื”ืจืืฉื•ื ื” ืฉืœ ืคืจื•ื™ืงื˜ ื”ืงื•ื“ ื”ืคืชื•ื— Pingora v0.1.0 (ื›ื‘ืจ v0.1.1). ื–ื•ื”ื™ ืžืกื’ืจืช ืืกื™ื ื›ืจื•ื ื™ืช ืžืจื•ื‘ื” ื”ืœื™ื›ื™ ื‘ืจื•ืกื˜ ืฉืขื•ื–ืจืช ืœื™ืฆื•ืจ ืฉื™ืจื•ืชื™ ืคืจื•ืงืกื™ HTTP. ื”ืคืจื•ื™ืงื˜ ืžืฉืžืฉ ืœื™ืฆื™ืจืช ืฉื™ืจื•ืชื™ื ื”ืžืกืคืงื™ื ื—ืœืง ื ื™ื›ืจ ืžื”ืชื ื•ืขื” ืœ-Cloudflare (ื‘ืžืงื•ื ืœื”ืฉืชืžืฉ ื‘-Nginx). ืงื•ื“ ื”ืžืงื•ืจ ืฉืœ Pingora ืžืชืคืจืกื ื‘-GitHub ืชื—ืช ืจื™ืฉื™ื•ืŸ Apache 2.0.

Pingora ืžืกืคืงืช ืกืคืจื™ื•ืช ื•ืžืžืฉืงื™ API ืœื™ืฆื™ืจืช ืฉื™ืจื•ืชื™ื ื‘ืืžืฆืขื•ืช HTTP/1 ื•-HTTP/2, TLS ืื• ืคืฉื•ื˜ TCP/UDP. ื›ืคืจื•ืงืกื™, ื”ื•ื ืชื•ืžืš ื‘-proxy ืžืงืฆื” ืœืงืฆื” ืฉืœ HTTP/1 ื•-HTTP/2, gRPC ื•-WebSocket. ืชืžื™ื›ืช HTTP/3 ื ืžืฆืืช ื‘ืชื•ื›ื ื™ื•ืช. Pingora ื›ื•ืœืœ ื’ื ืืกื˜ืจื˜ื’ื™ื•ืช ืื™ื–ื•ืŸ ืขื•ืžืกื™ื ื•ืืกื˜ืจื˜ื’ื™ื•ืช ื›ืฉืœ ื‘ื”ืชืืžื” ืื™ืฉื™ืช. ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืชืื™ืžื•ืช ื•ืื‘ื˜ื—ื”, ื”ื•ื ืชื•ืžืš ื”ืŸ ื‘ืกืคืจื™ื•ืช OpenSSL ื•ื”ืŸ ื‘ืกืคืจื™ื•ืช BoringSSL ื‘ืฉื™ืžื•ืฉ ื ืจื—ื‘, ืฉื”ืŸ FIPS (ืชืงื ื™ ืขื™ื‘ื•ื“ ืžื™ื“ืข ืคื“ืจืœื™ื™ื ื‘ืืจื”"ื‘) ื•ื”ืŸ ืชื•ืืžื•ืช ืœื”ืฆืคื ื” ืคื•ืกื˜-ืงื•ื•ื ื˜ื™ืช.

ื‘ื ื•ืกืฃ ืœืชื›ื•ื ื•ืช ืืœื•, Pingora ืžืกืคืงืช ืžืกื ื ื™ื ื•ื”ืชืงืฉืจื•ื™ื•ืช ื—ื•ื–ืจื•ืช ื”ืžืืคืฉืจื•ืช ืœืžืฉืชืžืฉื™ื ืœื”ืชืื™ื ืื™ืฉื™ืช ื‘ืื•ืคืŸ ืžืœื ืืช ื”ืื•ืคืŸ ืฉื‘ื• ื”ืฉื™ืจื•ืช ืฆืจื™ืš ืœืขื‘ื“, ืœืฉื ื•ืช ื•ืœื”ืขื‘ื™ืจ ื‘ืงืฉื•ืช.

ื‘ืžืฆื‘ ื™ื™ืฆื•ืจ, Pingora ืžืกืคืงืช ื”ืคืขืœื” ืžื—ื“ืฉ ื—ืœืงื” ืœืœื ื–ืžืŸ ื”ืฉื‘ืชื” ื›ื“ื™ ืœืขื“ื›ืŸ ืืช ืขืฆืžื” ืžื‘ืœื™ ืœืื‘ื“ ื›ืœ ื‘ืงืฉื•ืช ื ื›ื ืกื•ืช. Syslog, Prometheus, Sentry, OpenTelemetry ื•ื›ืœื™ ื ื™ื˜ื•ืจ ื—ื™ื•ื ื™ื™ื ืื—ืจื™ื ืžืฉืชืœื‘ื™ื ื‘ืฆื•ืจื” ื—ืœืงื” ืขื Pingora.

ืชื›ื•ื ื•ืช Pingora: ืฉื™ืžื•ืฉ ื‘-Async Rust, ืชืžื™ื›ื” ื‘-HTTP 1/2 ืคืจื•ืงืกื™ ืžืงืฆื” ืœืงืฆื”, TLS ืขืœ OpenSSL ืื• BoringSSL, ืคืจื•ืงืกื™ gRPC ื•-websocket, ื˜ืขื™ื ื” ืžื—ื“ืฉ ื—ื™ื ื ื™ืช, ืื™ื–ื•ืŸ ืขื•ืžืกื™ื ื•ืืกื˜ืจื˜ื’ื™ื•ืช ื›ืฉืœ ื‘ื”ืชืืžื” ืื™ืฉื™ืช, ืชืžื™ื›ื” ื‘ื›ืœื™ ื ื™ื˜ื•ืจ ืฉื•ื ื™ื.

Pingora v0.1.1 ืžืชืงืŸ ื‘ืื’ื™ื ืฉื”ืชื’ืœื• ื‘ืขื‘ืจ, ืžืฉืคืจ ืืช ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืืœื’ื•ืจื™ืชื pingora-ketama, ืžื•ืกื™ืฃ ืขื•ื“ ืืžื•ืช ืžื™ื“ื” ื•ื‘ื“ื™ืงื•ืช TinyUFO ืœื˜ื™ื”ื•ืจ pingora-cache, ืžื’ื‘ื™ืœ ืืช ื’ื•ื“ืœ ื”ืžืื’ืจ ืขื‘ื•ืจ ื™ื•ืžื ื™ ืฉื’ื™ืื•ืช InvalidHTTPHeader, ื•ื›ืŸ ืžืชืงืŸ ืฉื’ื™ืื•ืช ื”ืงืœื“ื” ื•ืžื‘ืฆืข ืชื™ืงื•ื ื™ื ื ื—ื•ืฆื™ื ื‘ื”ืขืจื•ืช ื•ืคืจื•ื™ืงื˜ ืชื™ืขื•ื“.

ืžืงื•ืจ: linux.org.ru

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