长期以来,NGINX 可以说是网站安全和托管服务提供商 Cloudflare 的核心,是其所使用的基础软件的一部分。 “Cloudflare 将 NGINX 用于其提供的所有 Web 服务,并在世界各地的数千台机器上使用它作为反向代理服务器。”“我们选择 NGINX 主要是因为它的性能。”Cloudflare CTO John Graham-Cumming 曾如此阐述 NGINX 对 C...
按照官方的说法,随着 Cloudflare 的发展壮大,NGINX 已经无法满足他们的现实业务需求。“虽然 NGINX 多年来一直表现良好,但时间推移之下。其局限性也在我们的持续迭代、规模扩张之下暴露无遗。我们既无法获得理想的性能,NGINX 也没法为高度复杂的环境提供必要的功能支持。”Cloudflare 于 9 月 14 日发布的博文中写道。
2022年9月,Cloudflare宣布用自研的以Rust编写的Pingora取代了Nginx,旨在构建一个更快、更高效、更安全的全新HTTP代理。这一决策在当时也引起了一些猜测,不过从目前来看,彼时果断地改弦易辙正逐步展露成效。为什么要舍弃Nginx?Cloudflare之所以会放弃Nginx,简单来说,就是Nginx已经无法满Cloudflare日益增长的业务需求。...
早在2022 年,Cloudflare 就曾宣布将放弃 Nginx,转而采用 Pingora —— 一个他们使用 Rust 在内部构建的新 HTTP 代理。时至今日,Cloudflare 宣布在 Apache 2.0 许可下开源了 Pingora 框架。 Pingora 是一个 Rus…
总之,Cloudflare放弃NGINX并自研基于Rust的新网络代理服务器是一个明智的选择。这不仅可以帮助Cloudflare更好地满足现代网络架构的需求,提升性能和安全性,同时也为整个行业树立了一个积极的榜样。未来,我们有理由相信,基于Rust等先进技术的网络代理服务器将在更多领域发挥重要作用,推动互联网技术的发展和创新。 当然,对于其...
“虽然 NGINX 多年来一直表现良好,但时间推移之下。其局限性也在我们的持续迭代、规模扩张之下暴露无遗。我们既无法获得理想的性能,NGINX 也没法为高度复杂的环境提供必要的功能支持。”Cloudflare 于 9 月 14 日发布的博文中写道。 Pingora 是 Cloudflare 工程师用 Rust 编写的全新 HTTP 代理系统,专为 Cloudflare ...
长期以来,Cloudflare 一直依赖 Nginx 作为其 HTTP 代理堆栈的一部分;但现在,他们宣布已将 Nginx 替换为其内部由 Rust 编写的 Pingora 软件,“我们已经建立了一个更快、更高效、更通用的内部代理,作为我们当前和未来产品的平台”。 根据介绍,该软件每天可处理超过一万亿个请求,并可在只使用原本约三分之一的 CPU ...
用Rust 编写 Nginx 模块 在编写新模块时,工程师们了解了很多 Nginx 的工作原理,以及如何让它与 Rust 对话。Nginx 没有提供太多用 C 语言以外的语言编写模块的文档,因此工程师需要做一些工作来确定如何用选择的语言编写 Nginx 模块。开始时,工程师们大量使用了 nginx-rs 项目中的部分代码,尤其是缓冲区和内存池的...
“虽然 NGINX 多年来一直表现良好,但时间推移之下。其局限性也在我们的持续迭代、规模扩张之下暴露无遗。我们既无法获得理想的性能,NGINX 也没法为高度复杂的环境提供必要的功能支持。”Cloudflare 于 9 月 14 日发布的博文中写道。 Pingora 是 Cloudflare 工程师用 Rust 编写的全新 HTTP 代理系统,专为 Cloudflare ...
NGINX模块系统也给各模块的工作方式提供了极大的灵活性,使其能高度匹配特定用例。当然,这种灵活性设计也有相应的问题。他们遇到的一大挑战,跟Rust和FL之间的响应数据处理方式有关。在NGINX当中,响应主体会被拆分成块,之后将这些块串连起来形成一个列表。另外,如果响应规模很大,则每条响应可能对应多个链接列表。