Cloudflare 放弃 Nginx 用于内部 Rust 编写的 Pingora

Cloudflare 长期以来一直依赖 Nginx 作为其 HTTP 代理堆栈的一部分,但现在已将其替换为内部由 Rust 编写的 Pingora 软件,据说该软件每天可处理超过一万亿个请求,并提供更好的性能,同时仅使用大约三分之一的CPU和内存资源。

Cloudflare 已经“超越”了 Nginx,最终创建了自己的 HTTP 代理堆栈。Cloudflare 发现 Nginx 的工作进程架构存在缺陷,尤其是在 CPU 资源方面。Nginx 也被证明难以扩展以满足他们的需求。

Cloudflare 工程师一直在从头开始开发 Pingora 作为内部解决方案。选择 Rust 编程语言是因为它的内存安全性,同时仍然提供类似 C 的性能。Cloudflare 还为 Rust 实现了自己的 HTTP 库,以满足他们所有不同的需求。Pingora 采用多线程架构而不是多进程。

image.php_-49
Cloudflare Pingora 图。

至于 Pingora 的性能优势:

在生产环境中,Pingora 在相同流量负载的情况下,与我们的旧服务相比,消耗的 CPU 和内存减少了约 70% 和 67%。

除了惊人的性能优势之外,Pingora 还被认为更安全,这在很大程度上要归功于 Rust 的使用。

那些希望了解有关 Cloudflare 的 Pingora 项目的更多信息的人可以通过Cloudflare 博客进行。唯一的缺点是 Pingora 尚未开源——Cloudflare 表示他们正在制定计划,但目前该 HTTP 代理尚未公开。

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun191015.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2022年9月16日
下一篇 2022年9月16日

相关推荐