長期以來,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 代理仍僅被該公司所使用。