Cloudflare 將Pingora Rust 框架開源
早在2022 年,Cloudflare 就宣布放棄Nginx,轉而使用Rust 自行寫的軟體Pingora。今天,Cloudflare 將開源Pingora 框架。Cloudflare 今天宣佈在Apache 2.0 許可下開源Pingora。Pingora 是一個Rust 非同步多執行緒框架,用於建立可程式化的網路服務。
Pingora 長期以來一直在Cloudflare 內部使用,能夠承受大量流量,而現在Pingora 被開源,有助於在Cloudflare 外部建立基礎設施。
Cloudflare 對Pingora 框架的描述是
“Pingora 提供程式庫和API,用於在HTTP/1 和HTTP/2、TLS 或TCP/UDP 基礎上建置服務。作為代理,它支援HTTP/1 和HTTP/2 端對端、gRPC 和websocket 代理程式。(它還提供可自訂的負載平衡和故障轉移策略。在合規性和安全性方面,它支援常用的OpenSSL 和BoringSSL 庫,這兩個庫都符合FIPS 標準並支援後量子加密。
除了提供這些功能,Pingora 還提供過濾器和回調,讓使用者可以完全自訂服務應如何處理、轉換和轉發請求。對於OpenResty 和nginx用戶來說,這些API 尤其熟悉,因為其中許多API 都可以直觀地映射到OpenResty 的”*_by_lua”回呼上。
在操作上,Pingora 提供零停機時間的服務重啟,在不丟棄任何一個傳入請求的情況下進行自我升級。Syslog、Prometheus、Sentry、OpenTelemetry 和其他必備的可觀察性工具也可輕鬆與Pingora 整合。
Cloudflare宣布Pingora 將開源,其中還包括一個使用Pingora 建構負載平衡器的範例。處於1.0 前階段的Pingora 還沒有穩定的API,Cloudflare 目前也沒有計劃支援非Unix 作業系統。
Pingora Rust 程式碼可在GitHub上取得。