Cloudflare 發布了 Pingora 的源代碼,這是一個用 Rust 編寫的用於創建網路服務的框架

平戈拉

平戈拉橫幅

幾天前 Cloudflare 亮相,透過部落格文章, 決定發布“Pingora”框架的源代碼, 專為 開發安全、高效能的網路服務, 以及 Rust 語言的可程式網路系統。

這個框架 提供開箱即用的 Rust 套件,可以輕鬆建立 HTTP 代理, 使用網路協定、解析 HTTP 標頭、流量統計和限制、負載平衡、管理 Ketama 分散式雜湊表、維護 RAM 中的快取以及非同步處理逾時。除了支援 HTTP 之外,Pingora 還允​​許使用自己的協定或 UDP/TCP 建立服務。

什麼是平戈拉?

Pingora 是異步多執行緒 Rust 框架,旨在安全且有效率地建構 HTTP 代理服務。。自發布以來,Pingora 已在高負載系統上進行了廣泛的測試和使用,作為 Cloudflare 內容交付網路上使用的代理,在一年多的時間裡每秒處理超過 40 萬個請求。

Cloudflare 提到,安全性是該專案的首要任務,這就是選擇 Rust 語言來減少記憶體相關錯誤可能性的原因。此外,還關注效率、效能和可擴展性,允許整合過濾器和回調處理程序來控制請求處理的各個階段,以及修改、重定向、阻止和記錄請求和回應。

Pingora 是一個函式庫和工具集,而不是可執行的二進位。換句話說,Pingora 是為汽車提供動力的發動機,而不是汽車本身。儘管 Pingora 已準備好用於工業用途,但我們了解許多人想要一種交鑰匙網路服務,包括電池以及無代碼或低代碼配置選項。在 Pingora 之上建立該應用程式將是我們與 ISRG 合作的重點,以擴大 Pingora 的影響力。請繼續關注該項目的未來公告。

之間 Pinora 的主要優勢,以下幾點引人注目:

  1. 記憶體安全:與用 C/C++ 編寫的服務相比,Pingora 提供了更記憶體安全的替代方案。這會降低可能危及系統安全的編碼錯誤的可能性。
  2. 優化性能:由於其多執行緒架構,Pingora 快速且高效,節省 CPU 和記憶體資源。這對於效能和成本敏感的工作負載尤其有利。
  3. 高級定制:Pingora 提供的 API 具有高度可編程性,允許進行廣泛的自訂以建立自訂和進階網關或負載平衡器。

平戈拉 提供了幾個關鍵功能,例如非同步模式下的多執行緒請求處理、支援HTTP/1 和HTTP/2(計畫支援HTTP/3)、gRPC 和WebSocket 代理、可插拔負載平衡器、無需重新啟動即可更改配置、無需中斷連線即可更新程式碼、發生故障時的負載切換策略(故障轉移)、與監控和日誌記錄系統(例如 Syslog、Prometheus、Sentry、OpenTelemetry)集成,並透過 OpenSSL 和 BoringSSL C 庫支援 TLS 加密。

Pingora 突出特點

  • 支援 HTTP/1 和 HTTP/2 代理、gRPC 和 websocket。
  • 可自訂的負載平衡和故障轉移策略。
  • 與 OpenSSL 和 BoringSSL 庫整合以實現合規性和安全性。
  • 用於自訂和請求處理的過濾器和回調。
  • 優雅地重新啟動,無需停機即可實現無縫更新。
  • 與 Syslog、Prometheus、Sentry、OpenTelemetry 等可觀測工具整合。

最後,Cloudflare 提到,它正在與網路安全研究小組 (ISRG) Prossimo 計畫合作,推動 Pingora 在關鍵網路基礎設施中的採用,從而為每個人提供更安全、更可靠的網路。

如果你是 有興趣了解更多,你應該知道程式碼是用 Rust 寫的並且 發表 在 Apache 2.0 許可下,您也可以查閱 Cloudflare 出版物 在下面的鏈接中。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。