Cloudflare放棄Nginx並轉用Rust編寫的自研Pingora軟件

長期以來,Cloudflare 都依賴於 Nginx 作為其 HTTP 代理堆棧的一部分。但現在,其已替換為由 Rust 編寫的自研 Pingora 軟件。該公司宣稱,Pingora 每日可處理超過一萬億次請求。在提供更高性能的同時,CPU 和內存資源的開銷還僅為舊方案的三分之一。

Cloudflare放棄Nginx並轉用Rust編寫的自研Pingora軟件

據悉,Cloudflare 發現 Nginx 的工作進程架構存在缺陷 —— 尤其是在 CPU 資源方面。此外 Nginx 也被證明難以擴展,以滿足他們的需求。

有鑒於此,Cloudflare 工程師一直在埋頭開發內部解決方案,並選擇了具有更高內存安全性、同時仍提供近似 C 語言性能的 Rust 編程語言。

Cloudflare放棄Nginx並轉用Rust編寫的自研Pingora軟件

值得一提的是,Cloudflare 還為 Rust 實現了自己的 HTTP 庫,以滿足其各種不同的需求。此外 Pingora 採用了多線程,而非多進程架構。

最終在生產環境中,Pingora 可在相同流量負載的情況下,較舊服務減少約 70% / 67% 的 CPU 與內存資源開銷。

Cloudflare放棄Nginx並轉用Rust編寫的自研Pingora軟件

除了驚人的性能優勢,Rust 編程語言還在確保 Pingora 安全性上起到了很大程度的作用。

唯一的遺憾,就是 Pingora 尚未開源 —— 儘管 Cloudflare 表示其正在制定計劃,但目前該 HTTP 代理仍僅被該公司所使用。

(0)
上一篇 2022-09-16 10:56
下一篇 2022-09-16 10:56

相关推荐