Cloudflare 开源 Pingora,一个用于开发 HTTP 代理的 Rust 框架

Cloudflare 开源基于 Rust 的 HTTP 代理框架 Pingora

最近,Cloudflare 开源了其基于 Rust 的 HTTP 代理框架 Pingora。该框架在 Apache 2.0 许可证下开源,旨在创建高效、安全的 HTTP 代理服务。Pingora 支持 HTTP/1、HTTP/2、gRPC 和 WebSocket 流量,并具备自适应负载均衡和故障转移机制。

主要功能与优势

  1. 多协议支持:Pingora 不仅可以作为代理,还可以用于构建客户端和服务器,并提供了支持 HTTP/1、HTTP/2、TLS 和 TCP/UDS 的库和 API。
  2. 高性能与资源优化:Pingora 采用多线程架构,显著提升了性能,减少了 CPU 和内存资源的消耗。它平均将网站加载时间(TTFB)减少了 5 毫秒,并将长等待时间减少了 80 毫秒。
  3. 连接复用:Pingora 通过跨任务共享互联网连接,减少了新的 TCP 和 TLS 握手次数,从而提高了连接效率。与旧系统相比,Pingora 每秒需要的新连接数量减少了三分之二。
  4. 内存安全性:与传统的 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 代理框架,适用于构建高性能的网关和负载均衡器。其开源不仅推动了互联网基础设施的现代化,也展示了内存安全在现代软件开发中的重要性。

阅读 23
0 条评论