Cloudflare เป€เบ›เบตเบ”เบ•เบปเบงเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡ Pingora v0.1.0

Cloudflare เป€เบ›เบตเบ”เบ•เบปเบงเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡ Pingora v0.1.0

5 ะฐะฟั€ะตะปั 2024 ะณะพะดะฐ Cloudflare ะฟั€ะตะดัั‚ะฐะฒะธะปะฐ ะฟะตั€ะฒั‹ะน ะฟัƒะฑะปะธั‡ะฝั‹ะน ั€ะตะปะธะท ะพั‚ะบั€ั‹ั‚ะพะณะพ ะฟั€ะพะตะบั‚ะฐ Pingora v0.1.0 (ัƒะถะต v0.1.1). ะญั‚ะพ ะฐัะธะฝั…ั€ะพะฝะฝั‹ะน ะผะฝะพะณะพะฟะพั‚ะพั‡ะฝั‹ะน ั„ั€ะตะนะผะฒะพั€ะบ ะฝะฐ Rust, ะบะพั‚ะพั€ั‹ะน ะฟะพะผะพะณะฐะตั‚ ัะพะทะดะฐะฒะฐั‚ัŒ ะฟั€ะพะบัะธ-ัะตั€ะฒะธัั‹ HTTP. ะŸั€ะพะตะบั‚ ะธัะฟะพะปัŒะทัƒะตั‚ัั ะดะปั ัะพะทะดะฐะฝะธั ัะตั€ะฒะธัะพะฒ, ะพะฑะตัะฟะตั‡ะธะฒะฐัŽั‰ะธั… ะทะฝะฐั‡ะธั‚ะตะปัŒะฝัƒัŽ ั‡ะฐัั‚ัŒ ั‚ั€ะฐั„ะธะบะฐ ะฒ Cloudflare (ะฒะผะตัั‚ะพ ะฟั€ะธะผะตะฝะตะฝะธั Nginx). ะ˜ัั…ะพะดะฝั‹ะน ะบะพะด Pingora ะพะฟัƒะฑะปะธะบะพะฒะฐะฝ ะฝะฐ GitHub ะฟะพะด ะปะธั†ะตะฝะทะธะตะน Apache 2.0.

Pingora ะฟั€ะตะดะพัั‚ะฐะฒะปัะตั‚ ะฑะธะฑะปะธะพั‚ะตะบะธ ะธ API ะดะปั ัะพะทะดะฐะฝะธั ัะตั€ะฒะธัะพะฒ ะฟะพะฒะตั€ั… HTTP/1 ะธ HTTP/2, TLS ะธะปะธ ะฟั€ะพัั‚ะพ TCP/UDP. ะ’ ะบะฐั‡ะตัั‚ะฒะต ะฟั€ะพะบัะธ-ัะตั€ะฒะตั€ะฐ ะพะฝ ะฟะพะดะดะตั€ะถะธะฒะฐะตั‚ ัะบะฒะพะทะฝะพะต ะฟั€ะพะบัะธั€ะพะฒะฐะฝะธะต 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 end to end proxy, TLS over OpenSSL ะธะปะธ BoringSSL, gRPC ะธ ะฟั€ะพะบัะธั€ะพะฒะฐะฝะธะต ะฒะตะฑ-ัะพะบะตั‚ะพะฒ, Graceful reload, ะฝะฐัั‚ั€ะฐะธะฒะฐะตะผั‹ะต ัั‚ั€ะฐั‚ะตะณะธะธ ะฑะฐะปะฐะฝัะธั€ะพะฒะบะธ ะฝะฐะณั€ัƒะทะบะธ ะธ ะฐะฒะฐั€ะธะนะฝะพะณะพ ะฟะตั€ะตะบะปัŽั‡ะตะฝะธั, ะฟะพะดะดะตั€ะถะบะฐ ั€ะฐะทะปะธั‡ะฝั‹ั… ะธะฝัั‚ั€ัƒะผะตะฝั‚ะพะฒ ะผะพะฝะธั‚ะพั€ะธะฝะณะฐ.

ะ’ ะฒะตั€ัะธะธ Pingora v0.1.1 ะธัะฟั€ะฐะฒะปะตะฝั‹ ั€ะฐะฝะตะต ะพะฑะฝะฐั€ัƒะถะตะฝะฝั‹ะต ะพัˆะธะฑะบะธ, ัƒะปัƒั‡ัˆะตะฝะฐ ะฟั€ะพะธะทะฒะพะดะธั‚ะตะปัŒะฝะพัั‚ัŒ ะฐะปะณะพั€ะธั‚ะผะฐ pingora-ketama, ะดะพะฑะฐะฒะปะตะฝะพ ะฑะพะปัŒัˆะต ะฑะตะฝั‡ะผะฐั€ะบะพะฒ TinyUFO ะธ ั‚ะตัั‚ะพะฒ ะดะปั pingora-cache purge, ะพะณั€ะฐะฝะธั‡ะตะฝ ั€ะฐะทะผะตั€ ะฑัƒั„ะตั€ะฐ ะดะปั ะถัƒั€ะฝะฐะปะพะฒ ะพัˆะธะฑะพะบ InvalidHTTPHeader, ะฐ ั‚ะฐะบะถะต ะธัะฟั€ะฐะฒะปะตะฝั‹ ะพะฟะตั‡ะฐั‚ะบะธ ะธ ะฒะฝะตัะตะฝั‹ ะฝะตะพะฑั…ะพะดะธะผั‹ะต ะธัะฟั€ะฐะฒะปะตะฝะธั ะฒ ะบะพะผะผะตะฝั‚ะฐั€ะธัั… ะธ ะดะพะบัƒะผะตะฝั‚ะฐั†ะธะธ ะฟั€ะพะตะบั‚ะฐ.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: linux.org.ru

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