据悉,Cloudflare 发现 Nginx 的工作进程架构存在缺陷 —— 尤其是在 CPU 资源方面。此外 Nginx 也被证明难以扩展,以满足他们的需求。
有鉴于此,Cloudflare 工程师一直在埋头开发内部解决方案,并选择了具有更高内存安全性、同时仍提供近似 C 语言性能的 Rust 编程语言。
值得一提的是,Cloudflare 还为 Rust 实现了自己的 HTTP 库,以满足其各种不同的需求。此外 Pingora 采用了多线程,而非多进程架构。
最终在生产环境中,Pingora 可在相同流量负载的情况下,较旧服务减少约 70% / 67% 的 CPU 与内存资源开销。
除了惊人的性能优势,Rust 编程语言还在确保 Pingora 安全性上起到了很大程度的作用。
唯一的遗憾,就是 Pingora 尚未开源 —— 尽管 Cloudflare 表示其正在制定计划,但目前该 HTTP 代理仍仅被该公司所使用。
扫一扫
在手机上阅读