Cloudflare放棄Nginx並轉用Rust編寫的自研Pingora軟件
長期以來,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 代理仍僅被該公司所使用。