早在 2022 年,Cloudflare 就宣布他们将放弃 Nginx,转而使用内部 Rust 编写的软件,名为 Pingora。当地时间 2 月 28 日,Cloudflare 宣布开源 Pingora 框架。
据悉,Pingora 是一个 Rust 异步多线程框架,用于构建可编程网络服务,采用 Apache 2.0 开源许可证。Pingora 长期以来一直在 Cloudflare 内部使用,能够维持大量流量,而现在 Pingora 正在开源,以帮助在 Cloudflare 之外构建基础设施。
Cloudflare 将 Pingora 框架描述为:
“Pingora 提供了库和 API,用于在 HTTP/1 和 HTTP/2、TLS 或 TCP/UDP 之上构建服务。作为代理,它支持 HTTP/1 和 HTTP/2 端到端、gRPC 和 websocket 代理。(HTTP/3 支持已在路线图上。)它还具有可定制的负载平衡和故障转移策略。为了合规性和安全性,它支持常用的 OpenSSL 和 BoringSSL 库,这些库具有 FIPS 合规性和后量子性除了提供这些功能之外,Pingora 还提供过滤器和回调,以允许用户完全自定义服务应如何处理、转换和转发请求。这些 API 对于 OpenResty 和 NGINX 用户来说尤其熟悉,因为许多 API 直观地映射到 OpenResty 的“ *_by_lua”回调。
在操作上,Pingora 提供零停机优雅重启来升级自身,而不会丢弃单个传入请求。Syslog、Prometheus、Sentry、OpenTelemetry 和其他必备的可观察工具也可以轻松与 Pingora 集成。”
Cloudflare 宣布 Pingora 开源,其中还包含一个使用它构建负载均衡器的示例。Pingora 处于 1.0 之前的阶段,尚不具备 API 稳定性,Cloudflare 目前没有计划支持非 Unix 操作系统。
Pingora Rust 代码可在GitHub上获取。
Pingora 项目地址:https://github.com/cloudflare/pingora
参考链接:https://www.phoronix.com/news/Cloudflare-Pingora-Open-Source
评论 1 条评论