网站首页 > 精选教程 正文
长期以来,Cloudflare 都依赖于 Nginx 作为其 HTTP 代理堆栈的一部分。但现在,其已替换为由 Rust 编写的自研 Pingora 软件。该公司宣称,Pingora 每日可处理超过一万亿次请求。在提供更高性能的同时,CPU 和内存资源的开销还仅为旧方案的三分之一。
据悉,Cloudflare 发现 Nginx 的工作进程架构存在缺陷 —— 尤其是在 CPU 资源方面。此外 Nginx 也被证明难以扩展,以满足他们的需求。
有鉴于此,Cloudflare 工程师一直在埋头开发内部解决方案,并选择了具有更高内存安全性、同时仍提供近似 C 语言性能的 Rust 编程语言。
值得一提的是,Cloudflare 还为 Rust 实现了自己的 HTTP 库,以满足其各种不同的需求。此外 Pingora 采用了多线程,而非多进程架构。
最终在生产环境中,Pingora 可在相同流量负载的情况下,较旧服务减少约 70% / 67% 的 CPU 与内存资源开销。
除了惊人的性能优势,Rust 编程语言还在确保 Pingora 安全性上起到了很大程度的作用。
唯一的遗憾,就是 Pingora 尚未开源 —— 尽管 Cloudflare 表示其正在制定计划,但目前该 HTTP 代理仍仅被该公司所使用。
猜你喜欢
- 2024-10-24 47如何高效的学习开源项目(下) 开源项目怎么练手
- 2024-10-24 docker-compose的ports、expose、links、depends_on的使用技巧
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)