2022 年网络服务提供商 CloudFlare 宣布放弃使用 F5 公司的 Nginx,转而在内部使用基于 Rust 语言开发的新框架 Pingora,今天 CloudFlare 宣布在 Apache 2.0 许可证下开源这个新框架。
Pingora 框架简介:
Pingora 提供了库和 API,用于在 HTTP/1 和 HTTP/2、TLS 或 TCP/UDP 之上构建服务,作为代理,它支持 HTTP/1 和 HTTP/2 端到端、gRPC 和 websocket 代理,不过暂时还不支持 HTTP/3,关于 HTTP/3 的支持已经在路线图上。
Pingora 还具有可定制的负载平衡和转账转移策略,为了合规性和安全性,Pingora 支持常用的 OpenSSL 和 BoringSSL 库,这些库满足 FIPS 合规性和后量子性。
除了提供这些功能外,Pingora 还提供过滤器和回调,允许用户完全自定义服务用来如何处理、转移和转发请求,这些 API 对于使用 OpenResty 和 Nginx 的用户来说尤其熟悉,因为许多 API 直观地映射到 OpenResty 上的 lua 回调。
在操作上,Pingora 提供零停机来 “优雅” 重启完成自身升级,不会丢弃单个传入的请求,Syslog、Prometheus、Sentry、OpenTelemetry 和其他必备的分析观测工具也都可以轻松与 Pingora 集成。
需要注意的是,Pingora 目前处于 1.0 之前的阶段,因此尚不具备 API 稳定性,这个可能还需要更长时间。
另外 CloudFlare 也没有计划支持非 Unix 系统,所以 Windows 版肯定是没戏了。
项目地址:https://github.com/cloudflare/pingora