Cloudflare 發布了 Pingora 框架的第一個版本,旨在使用 Rust 語言開發安全、高效能的網路服務。該代理程式使用 Pingora 構建,已在 Cloudflare 內容交付網路中代替 nginx 使用了大約一年,每秒處理超過 40 萬個請求。該程式碼是用 Rust 編寫的,並根據 Apache 2.0 許可證發布。
主要特點:
- 支援 HTTP/1 和 HTTP/2(計劃中的 HTTP/3),以及使用自己的協定或 UDP/TCP 建立服務的能力。
- 以非同步模式多執行緒處理請求的可能性。
- 支援附加回調處理程序和篩選器,可讓您管理請求處理的各個階段,以及修改、重新導向、封鎖和記錄請求和回應。
- 代理 gRPC 和 WebSocket。
- 可連接的負載平衡器。
- 無需重新啟動即可更改配置的能力。
- 支援在不中斷連線的情況下更新應用程式程式碼。
- 發生故障(故障轉移)時進行負載切換的方法。
- 與各種監控和日誌記錄系統(Syslog、Prometheus、Sentry、OpenTelemetry)整合。
- 支援 TLS 加密(使用 OpenSSL 或 BoringSSL)。
- 現成的 Rust 套件用於建立 HTTP 代理、使用網路協定、解析 HTTP 標頭、計費和限制流量、負載平衡、使用 Ketama 分散式雜湊表、維護 RAM 中的快取以及非同步處理逾時。
來源: opennet.ru
