Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
长期以来,Cloudflare 都依赖于 Nginx 作为其 HTTP 代理堆栈的一部分。但现在,其已替换为由 Rust 编写的自研 Pingora 软件。该公司宣称,Pingora 每日可处理超过一万亿次请求。在提供更高性能的同时,CPU 和内存资源的开销还仅为旧方案的三分之一。
据悉,Cloudflare 发现 Nginx 的工作进程架构存在缺陷 —— 尤其是在 CPU 资源方面。此外 Nginx 也被证明难以扩展,以满足他们的需求。
有鉴于此,Cloudflare 工程师一直在埋头开发内部解决方案,并选择了具有更高内存安全性、同时仍提供近似 C 语言性能的 Rust 编程语言。
值得一提的是,Cloudflare 还为 Rust 实现了自己的 HTTP 库,以满足其各种不同的需求。此外 Pingora 采用了多线程,而非多进程架构。
最终在生产环境中,Pingora 可在相同流量负载的情况下,较旧服务减少约 70% / 67% 的 CPU 与内存资源开销。
除了惊人的性能优势,Rust 编程语言还在确保 Pingora 安全性上起到了很大程度的作用。
唯一的遗憾,就是 Pingora 尚未开源 —— 尽管 Cloudflare 表示其正在制定计划,但目前该 HTTP 代理仍仅被该公司所使用。