去年曾報道過,Cloudflare 將 Nginx 替換為內(nèi)部采用 Rust 編寫的 Pingora,目標是構建一個更快、更高效、更通用的內(nèi)部代理,用作 Cloudflare 當前和未來產(chǎn)品的平臺。不過 Cloudflare 的基礎設施非常龐大,并且包含許多不同的服務。
近日,Cloudflare 工程師介紹了如何使用 Rust 重寫基于 C 語言的 Nginx 模塊。Cloudflare 工程師在博客寫道,他們用 Rust 為 Cloudflare 基礎設施中最古老和最不為人所知的部分 ——cf-html,編寫了替代品。這是一個 Nginx 模塊,位于 Cloudflare 的核心反向 Web 代理內(nèi)部,亦稱為 FL (Front Line)。
FL 運行著 Cloudflare 應用程序服務的大部分邏輯,因此這次替換無疑更具挑戰(zhàn)性。Cloudflare 稱,完成這項工作為他們完全擺脫 Nginx 鋪平了道路。未來他們會繼續(xù)逐步更換用于運行 Nginx/OpenResty 代理的組件,或者無需對自研平臺投入大量開發(fā)資源就可以完成的組件,從而構建一個沒有 Nginx 的未來 (A future without NGINX)。

Cloudflare 工程師非常熱愛 Rust 語言,他們最后談到了 Rust 帶來的好處:“大多數(shù)人認為編程語言的安全性主要是用于預防出現(xiàn) bug,但對于一家公司來說,我們發(fā)現(xiàn)編程語言的安全優(yōu)勢還可以用來完成一些被認為非常困難、或不可能安全實現(xiàn)的功能需求。比如提供類似 Wireshark 的過濾語言來編寫防火墻規(guī)則、允許數(shù)百萬用戶編寫任意 JavaScript 代碼并直接在我們的平臺上運行它,以及即時重寫 HTML 響應。在實現(xiàn)上述功能過程中,Rust 為這些服務提供了嚴格的執(zhí)行邊界,讓不可能變成可能。與此同時,Rust 讓過去困擾行業(yè)的內(nèi)存安全問題日益成為過去?!?/p>
審核編輯 :李倩
-
模塊
+關注
關注
7文章
2829瀏覽量
53128 -
Rust
+關注
關注
1文章
240瀏覽量
7519
原文標題:Cloudflare用Rust重寫Nginx C模塊,構建沒有Nginx的未來
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
如何基于Nginx構建微服務網(wǎng)關
Nginx高并發(fā)優(yōu)化方案
Ansible Playbook自動化部署Nginx集群指南
Nginx在企業(yè)環(huán)境中的調優(yōu)策略
Nginx和Apache的差異
Nginx配置終極指南
云原生環(huán)境里Nginx的故障排查思路
Nginx性能優(yōu)化終極指南
Nginx基礎安裝與配置教程
Nginx實戰(zhàn)全攻略
華為 FlexusX 與 Docker+Nginx 的高效整合之路
Cloudflare用Rust重寫Nginx C模塊,構建沒有Nginx的未來
評論