Cloudflare 长期以来一直依赖 Nginx 作为其 HTTP 代理堆栈的一部分,但现在已将其替换为内部由 Rust 编写的 Pingora 软件,据说该软件每天可处理超过一万亿个请求,并提供更好的性能,同时仅使用大约三分之一的CPU和内存资源。
Cloudflare 已经“超越”了 Nginx,最终创建了自己的 HTTP 代理堆栈。Cloudflare 发现 Nginx 的工作进程架构存在缺陷,尤其是在 CPU 资源方面。Nginx 也被证明难以扩展以满足他们的需求。
Cloudflare 工程师一直在从头开始开发 Pingora 作为内部解决方案。选择 Rust 编程语言是因为它的内存安全性,同时仍然提供类似 C 的性能。Cloudflare 还为 Rust 实现了自己的 HTTP 库,以满足他们所有不同的需求。Pingora 采用多线程架构而不是多进程。
Cloudflare Pingora 图。
至于 Pingora 的性能优势:
在生产环境中,Pingora 在相同流量负载的情况下,与我们的旧服务相比,消耗的 CPU 和内存减少了约 70% 和 67%。
除了惊人的性能优势之外,Pingora 还被认为更安全,这在很大程度上要归功于 Rust 的使用。
那些希望了解有关 Cloudflare 的 Pingora 项目的更多信息的人可以通过Cloudflare 博客进行。唯一的缺点是 Pingora 尚未开源——Cloudflare 表示他们正在制定计划,但目前该 HTTP 代理尚未公开。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun191015.html