选择你喜欢的标签
我们会为你匹配适合你的网址导航

    确认 跳过

    跳过将删除所有初始化信息

    0XU.CN
    发布于2024-03-04 11:30
    326

    如何评价Cloudflare Pingora?

    Pingora 是一个 Rust 异步多线程框架,用于构建 HTTP 代理服务,已在 Cloudflare 内部使用多年,据称每秒处理超过 4000 万个互联网请求。

    截至目前,Pingora 已在 Cloudflare 的全球网络中处理了近千万亿的互联网请求。

    我要回答 分享 举报
    最新问答
    如何评价Cloudflare Pingora?


    16 条回答
    安娜
    2024-03-04 11:35

    CloudFlare厉害呀!居然还能把性能优化到比nginx高这么多!

    我之前测试过用Actix-web写服务程序,替代nginx,发现两者的资源消耗是差不多的


    分享 举报
    FortuneCuttie
    2024-03-04 11:35

     为何Nginx要用多进程架构而非多线程?

    为何Redis宁愿用单线程也不敢用多线程?

    因为C语言处理多线程比较难受,容易出错,没有规避数据竞争的手段,总不能所有指针都加锁吧。

    而Rust通过禁止多个可变引用或者一个可变引用多个不可变同时存在,还有Send、Sync标记型trait等方式在编译期规避数据竞争,让程序员大胆地去写多线程代码。

    这就是为啥Rust能赋予servo一些以前用C++不敢搞的优化手段的原因。

    分享 举报
    罗瑾萱
    2024-03-04 11:35

    Nginx 做反代、负载均衡很好很方便,但是要开发新功能(不管是 C 还是 Lua),那体验就很差了。


    分享 举报
    平安夜的谎言
    2024-03-04 11:34

    大厂去 Nginx 是个趋势。

    百度 BFE:我性能不如 Nginx,但是我安全稳定可维护。

    Cloudflare:不好意思,我不仅安全稳定可维护,性能还要更好。

    Dropbox:我直接用 Envoy

    阿里:嗯,Tengine 不算 Nginx :),Higress 也基于 Envoy

    我:用云厂商的负载均衡,其他功能在应用服务器上实现。

    Nginx 做反代、负载均衡很好很方便,但是要开发新功能(不管是 C 还是 Lua),那体验就很差了。


    分享 举报
    funnyg
    2024-03-04 11:34

    有没有一种可能,就是哪怕它不改语言,重构也能-70%?

    重构是一回事,换语言是另一回事,它们之间没有特别强烈的联系。如果你说的所谓重构是指伪代码完全不变,语义一致地翻译到另一种语言的话,我相信它们的性能不会有多少本质区别。

    来到你的例子,说白了就是换轮子了,这两个代码互相之间已经没有太多联系了,它们唯一的相同点就是功能还是差不多的,里面的底子翻译到伪代码可能已经差的妈都不认识了,和用哪种语言实现没有太大的关系。


    分享 举报
    TUTU-new
    2024-03-04 11:34

    主要性能优势来源于连接复用和 lua 变成 rust

    个人认为这种负载调度上 stealing 未必比 share nothing 更好

    分享 举报
    逗本逗鸭
    2024-03-04 11:33

    开源了,不知道开源版有没有阉割掉什么东西。

    https://github.com/cloudflare/pingora

    分享 举报
    欧尼熊
    2024-03-04 11:33

    这可真是,一看到别人换了,立马开始吐槽Nginx各种不好,想当年也是大家的小甜甜吧,这么快就变成牛夫人了,各位可真是独立思想者哦。

    就问问各位最复杂的操作难道不过是从网上复制下 伪静态规则, 搞点网址重写,高端玩家配点upstream玩点反向代理,居然上升到多进程架构了,甚至apache都绰绰有余了吧。

    也不看看对象,好歹看看人家可是Cloudflare哦,靠CDN吃饭的,就问问你们手里那点可怜的并发,有啥好看的。

    分享 举报
    张包包
    2024-03-04 11:33

    Cloudflare 自己写的代码,当然符合自己的需求。

    但你要是自己去用,会发现连文档都没有。


    分享 举报
    VtHaMy
    2024-03-04 11:33

    Cloudflare的业务毕竟跟nginx绝大多数用户都不同,绝大多数用户后面没几个upstream服务器,每个worker一个连接池也没啥。


    分享 举报
    • 1
    • 2