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


相關推薦

2024-02-29

早在2022年,Cloudflare就宣佈放棄Nginx,轉而使用Rust自行編寫的軟件Pingora。今天,Cloudflare將開源Pingora框架。Cloudflare今天宣佈在Apache2.0許可下開源Pingora。Pingora是一個Rust異步多線程框架,用於構建可編程的網絡服務。Pingora 長期以

2024-05-11

Rustls是用Rust編程語言編寫的現代TLS庫,重點強調內存安全和安全性。Rustls得到Google、AWS等公司的支持,並獲得德國主權技術基金的資助。該開源項目最近一個令人興奮的裡程碑是,Rustls現在可以與Nginx協同工作。通過 Rustls 項目

2023-11-14

相。據悉,藍河操作系統是行業首個系統框架由Rust語言編寫的操作系統,能夠從原點識別內存使用不當導致的安全漏洞。同時重點架設AI能力,可以通過聲音、視覺、觸覺等多種方式進行更自然、更符合直覺的交互。值得一提的

2024-02-29

經嘗試在Rust重新編寫WindowsNT內核中的某些組件,谷歌和CloudFlare等也在提高Rust的使用率。為什麼大型科技公司都關註 Rust 呢?因為相對來說,Rust 安全性更高,微軟認為通過 Rust 重新編寫某些組件有助於提高內存安全性。日前美

2024-05-01

RedoxOS是一個從零開始、由Rust編寫的開源操作系統,它在四月份取得一個裡程碑式的成功,現在USB鍵盤和鼠標都可以使用其USBHID驅動程序。Redox OS項目發佈2024年4月狀態報告,重點介紹過去幾周取得的進展:https://redox-os.org/Redox OS

2024-02-03

365 組織的新基礎,即 Substrate App Platform (SAP)。SAP小組負責編寫微軟雲服務的運行代碼,這意味著雷德蒙德已決定加快之前宣佈的 Rust 采用計劃。招聘啟事稱,公司正在組建一個新團隊,專註於將 Rust 語言作為"全球規模平臺服

2023-01-14

全博客宣佈這一新進展。在未來,Chromium項目將支持用Rust編寫的庫。開發人員已經在開發一個生產型Rust工具鏈,以添加到Chrome構建系統中,這應該在"明年"將實際的Rust代碼帶到Chrome二進制文件中。Rust是一種現代的、通用

2023-05-12

好。Azure雲業務首席技術官MarkRussinovich確認,基於Rust代碼編寫的Win32k.sys內核模式驅動文件已經移植到Windows11Insider預覽版中。據解,Win32k.sys負責處理器Windows上的圖形設備界面(GUI)和窗口管理。按照微軟此前介紹,Rust語言的優

2022-11-09

裡,英特爾設立的許多有前途的開源軟件項目之一是Rust編寫的雲管理程序。雲管理程序一開始隻是一個現代的、以安全為重點的、以雲為中心的RustVMM管理程序,用於現代硬件/軟件,隻是英特爾眾多開源軟件項目中的一個,但在

2022-11-12

引入軟件。此外,語言通常允許使用不是用內存安全語言編寫的庫。"即使使用內存安全語言,內存管理也不完全是內存安全的。大多數內存安全語言承認,軟件有時需要執行不安全的內存管理功能來完成某些任務。因此,有

2022-10-16

架(如sel4-sys crate,它提供seL4系統調用API),一個用Rust編寫的備用根服務器(需要動態全系統內存管理),以及對seL4的內核修改,可以回收根服務器使用的內存。"您可以通過Google的開源博客解更多有關針對這一操作系統的

2024-05-09

源OLTP數據庫管理系統,它與SQLite兼容,使用Rust編程語言編寫,並利用Linux的IO_uring實現異步I/O。主創 Pekka Enberg 曾參與過 Apache Cassandra 和 ScyllaDB 的開發,也是 Linux 內核 SLAB 的維護者。這個兼容 SQLite 的數據庫系統是用 Rust 編寫的

2023-11-13

AI大模型的能力,支持應用開發新范式,能夠幫用戶自動編寫代碼、生成專屬桌面、壁紙、主題等。它由Rust語言編寫,在安全性、高效性和可維護性等方面都有一定優勢,Windows、Linux內核也帶來Rust支持,vivo選擇Rust也是看到其發

2024-02-13

施方面,包括各種示例代碼。現在,Linux 6.8 中已經有Rust 編寫的網絡 PHY 驅動程序,盡管它是從現有的 C 語言驅動程序移植過來的。Rust Apple Silicon SGX DRM 驅動程序以及其他 Rust 內核驅動程序仍在開發中。