Cloudflare 开源基于 Rust 的 HTTP 代理框架 Pingora
最近,Cloudflare 开源了其基于 Rust 的 HTTP 代理框架 Pingora。该框架在 Apache 2.0 许可证下开源,旨在创建高效、安全的 HTTP 代理服务。Pingora 支持 HTTP/1、HTTP/2、gRPC 和 WebSocket 流量,并具备自适应负载均衡和故障转移机制。
主要功能与优势
- 多协议支持:Pingora 不仅可以作为代理,还可以用于构建客户端和服务器,并提供了支持 HTTP/1、HTTP/2、TLS 和 TCP/UDS 的库和 API。
- 高性能与资源优化:Pingora 采用多线程架构,显著提升了性能,减少了 CPU 和内存资源的消耗。它平均将网站加载时间(TTFB)减少了 5 毫秒,并将长等待时间减少了 80 毫秒。
- 连接复用:Pingora 通过跨任务共享互联网连接,减少了新的 TCP 和 TLS 握手次数,从而提高了连接效率。与旧系统相比,Pingora 每秒需要的新连接数量减少了三分之二。
- 内存安全性:与传统的 C/C++ 服务相比,Pingora 在内存管理方面更为安全,显著减少了内存安全错误,使开发团队能够更专注于功能开发而非修复漏洞。
安全性与合规性
Pingora 集成了 OpenSSL 和 BoringSSL 库,确保符合 FIPS 标准,并支持后量子加密技术。此外,Cloudflare 正在与 Internet Security Research Group 的 Prossimo 项目合作,推动 Pingora 在互联网关键基础设施中的应用。
社区与技术讨论
Pingora 的开源引起了技术社区的广泛关注。Reddit 和 YCombinator 上的讨论指出,Pingora 并非像 Nginx 或 Caddy 那样是一个即用型二进制文件,而是一组用于构建定制化反向代理的包。社区对其 SSL 文档和热重载新证书等功能表示期待。
应用场景与成果
Pingora 已经处理了 Cloudflare 网络中的近千万亿次互联网请求。对于主要客户,Pingora 将连接复用率从 87.1% 提升至 99.92%,从而将新连接需求减少了 160 倍。
总结
Pingora 是一个高效、安全且高度可定制的 HTTP 代理框架,适用于构建高性能的网关和负载均衡器。其开源不仅推动了互联网基础设施的现代化,也展示了内存安全在现代软件开发中的重要性。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。